はじめに
PHPのコードレビューをしていて、配列の変数の初期化のタイミングを指摘したいのですが、
言語化ができていないので、指摘できない状態にいます。
言語化の手助けをお願いします。
元のコード(サンプルのため変数名などは簡略化してます)
PHP
1$ids = getIds(); 2$datas = getDatas(); 3 4// $datasが空でforeachに入らないケースがあります 5foreach ($datas as $key => $val) { 6 $dataIds[] = $val['id']; 7} 8 9if(empty($dataIds))$dataIds = array(); 10$mergeIds = array_merge($ids, $dataIds);
指摘して以下のように直すべきと考えているコード
PHP
1$ids = getIds(); 2$datas = getDatas(); 3 4// ※指摘点 foreachの前に配列の初期化をしておきたい 5$dataIds = array(); 6// $datasが空でforeachに入らないケースがあります 7foreach ($datas as $key => $val) { 8 $dataIds[] = $val['id']; 9} 10 11$mergeIds = array_merge($ids, $dataIds);
求めていること
「foreachの前に配列の初期化をしておきたい」と伝えたいのですが、
なぜforeachの前なのかの説明が言語化できていないので、ここの言語化をお願いしたいです。
メソッドの冒頭や、変数を使う直前で初期化を当たり前にしてきてしまったという背景があります。
よろしくお願いいたします。

回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/17 07:14
2019/01/17 07:20