どうも、いつものtaanatsuです。
皆さんはPHPの連想配列を使っていますか?
使ってない!?素晴らしいですね!
連想配列はパット見、何が中に入っているのかがわからないので、あまり使わないようにしております。
しかし、古きフレームワークがまだ残っている部分で、そのフレームワークが連想配列推しな場合、
どうしても連想配列を使わないといけないことがあります。
悲しいですね。
やりたいこと
配列のキーと値が一緒の連想配列を作りたい
愚直に書いた
<?php $array = [ 'a', 'b', 'c', 'd', 'e', ]; $result = []; foreach ($array as $item) { $result[$item] = $item; } var_dump($result); # array(5) { # ["a"]=> # string(1) "a" # ["b"]=> # string(1) "b" # ["c"]=> # string(1) "c" # ["d"]=> # string(1) "d" # ["e"]=> # string(1) "e" # }
array_combineを使ってみる
https://www.php.net/manual/ja/function.array-combine.php
<?php $array = [ 'a', 'b', 'c', 'd', 'e', ]; $result = array_combine($array, $array); var_dump($result); # array(5) { # ["a"]=> # string(1) "a" # ["b"]=> # string(1) "b" # ["c"]=> # string(1) "c" # ["d"]=> # string(1) "d" # ["e"]=> # string(1) "e" # }
行数が減りましたね!
…………でも、あんまり使いたくないですね。
リファクタリングするときは、連想配列を消してModelを使っていくようにしましょう。
今回はこのへんで 。
ではまた次回!