PHP基本的関数QUIZ -- 意外と知らない便利な基本的関数の紹介@Wataru Terada

表題の通り、意外と知らないことがたくさんありました。m(_ _)m

その時々でググればいいやと問題意識を持っていないようなことだったり、
選択肢として理解しておいたほうがいいことや、常に利用した方が良い作用や実装などを含んで、
優先度が高そうなものをピックアップして聞かせて頂くことができたのかなと思います。
丁寧な丁寧な説明で、補習を受けているような感じで大変勉強になりました。


・empty()

過去のいつかのわたしは、empty()をつかわないように決めたらしく使っていない。
たまに人のコードで出てくるけど極力変更しないようにしてる。
何がtrue評価されるかについてもちゃんとは覚えてないなあ。
empty('0')をいれるとtrueというのは、具体的に言われれば、、
多分(勝手にキャストしそうだし)PHPならそうだろうと、でもちょっと自信ないなあくらいの印象。
でも今回で覚えた!かもしれない。

・range()

滅多に使ってないですね。使った方が良いな。せいぜいプルダウンの日付とかかな。

・list()

使ってないですね。array系の関数(http://kudox.jp/php/array-function)もあまり使ってない。
なんか配列数が増えても少なくても同じように書きたいなと思って。。
処理効率は悪そうだけど。
標準関数を使わない、さらには知らない、この辺の「マインド」(?)をちょっと変えた方が良いかもな。
日常の母語でも、私の語彙は少ないのです。

・「+」と「array_merge」

普段はarray_merge()しか使っていません。
分かっていたつもりだったんですが、、あれ?「先勝ち」の処理に驚きました。
キーが数値だったり暗黙だったりしたときに振り直すのが「+」だったような記憶でした。
何か別の似たような何かを知ったときに勘違いしていたのかも??
既存のコードが心配だ。。

・array_merge_recursive()

とにかく値が配列じゃなければ配列にして上書きはしないと。
オプションで指定する仕様ならわかりやすいのかな。マージって言葉のイメージに注意だな。
マージにもいろいろあると考えて良いのかな。

・分割の関数

大体explode()ばかり使ってます。
preg_split(),stro_split()か。覚えてこう。

・array_map(),array_walk()

調べたことあったと思うけど忘れてる。
array_map()はたまに使う。
参照自体をあまりつかわないから。

・foreach()での参照

たぶん、ほぼ書くことがないコードだと思うけど。
array_walk($array1, function(&$val){})
は、みためも綺麗だし、もしかして効率が良いかもしれないな。
大体、同じ変数に書き換えするのが怖いから別名変数に入れることが多い。
array_walk()形式なら明示化はできるけどやはり上書きだし、、
でも綺麗にarray_walk()内におさめて書ければ読みやすいかなあ。
多分、処理をまとめて、あとで無名関数を渡しても良いんだよね。
うーん、あまり複雑だと結局微妙かな。

・fgetcsv()

いつだったか、何故かうまくいかずに、恐怖感だけが残っている関数。
それ以降自分で独自にこれまわりを記述するのが嫌になってる。
それも、ストリームフィルタでやれば解決なのかなあ。
今度やってみるか。

・LogicException

デバックの際に。いまいちまだ使いどころのイメージが湧いてない。

イテレータ

なんだかんだ知識を得てから、日常的に使うまでの一歩が踏み出せていないのです。
使うぞつかうぞ。
bashコマンドのイメージというのはなるほどな例え。
ループがあったらイテレータ
あ、場合によっては、ちょっと重いんだっけ??