LoginSignup
1
1

More than 5 years have passed since last update.

phpの基本的な配列操作で上手くいかなかったときの経験

Posted at

phpの配列操作で自分では「いける」って思っていたけどだめだったときの経験を記録しておきます。
基本的なところかもしれませんが、同じところでつまずく方もいるかもしれないので、その場合は参考にしていただければと思います。
またそもそももっといい書き方があるよっていう場合はご指摘いただければ幸いです。

「いける」って思ったコード

まず「いける」って思ったけど実行結果が期待どおりにならなかった場合

array-test.php
<?php

$box = array();

for ($i = 1; $i <= 10; $i++) {
    if(($i % 2) == 0){
        $arr = array($i => "even");
        $box =  array_merge($box,$arr);
        printf($i . "/");
    }

}

foreach($box as $key => $value){
   printf($key . ":" . $value);
}

?>

実行結果

2/4/6/8/10/0:even1:even2:even3:even4:even

実際にやりたかったことができたコード

次に実際にやりたかったことができた場合

array-test2.php
<?php

for ($i = 1; $i <= 10; $i++) {
    if(($i % 2) == 0){
        $box[$i] = "even";
        printf($i . "/");
    }

}

foreach($box as $key => $value){
   printf($key . ":" . $value);
}

?>

実行結果

2/4/6/8/10/2:even4:even6:even8:even10:even

実行結果を比較すると、配列のキーが異なっていることがわかります。
phpはじめたときにしばらくはまってしまいました。

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1