[解決済み】foreach()に与えられた引数が無効です。)
2022-02-09 10:18:55
質問
配列やNULL変数になるデータを扱うことがよくあります。
foreach
を、これらのデータで作成します。
$values = get_values();
foreach ($values as $value){
...
}
foreachに配列でないデータを投入すると、警告が出ます。
警告 でのforeach()に与えられた引数が無効です。
をリファクタリングすることはできないとして
get_values()
関数が常に配列を返すようにする(後方互換性、ソースコードが入手できない、その他の理由)ために、これらの警告を避けるための最もクリーンで最も効率的な方法はどれかと考えています。
-
キャスティング
$values
を配列に変換します。 -
初期化
$values
を配列に -
ラップする
foreach
を使用しています。if
- その他(ご意見をお聞かせください)
解決方法は?
個人的には、これが最もクリーンな方法だと思いますが、最も効率的かどうかはわかりません。
if (is_array($values) || is_object($values))
{
foreach ($values as $value)
{
...
}
}
私の好みの理由は、どうせ何も持っていないのに空の配列を割り当てることがないことです。
関連
-
[解決済み】XAMPPポート80をPID 4の「Unable to open process」が使用中 [重複] XAMPPポート80をPID 4の「Unable to open process」が使用中。]
-
[解決済み】PHPで空の値からデフォルトオブジェクトを作成する?
-
[解決済み】変な電話番号を生成するフェイカー?
-
phpのAllowed memory size of 134217728 bytes枯渇問題の解決法
-
[解決済み] libapache2-mod-php7 パッケージの場所がわからない
-
[解決済み] C#がforeachで変数を再利用するのは理由があるのか?
-
[解決済み] Javaの「for each」ループはどのように機能するのですか?
-
[解決済み] foreachループの現在の反復処理のインデックスを取得するにはどうすればよいですか?
-
[解決済み] IEnumerable<T>のforeachのLINQでの等価性
-
[解決済み】PHPの'foreach'は実際どのように動作するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】予期せぬ例外。SQLSTATE[HY000] [1045] Access denied for user ****@'localhost' (using password: YES)
-
[解決済み】DateTimeクラスのオブジェクトを文字列に変換できない
-
[解決済み】Phpのincludeが機能しない? 関数がincludeされない
-
[解決済み] $wpdb->update または $wpdb->insert を実行すると、引用符の前にスラッシュが追加される
-
[解決済み】PHPからPythonスクリプトを実行する
-
[解決済み】未定義の関数mysql_query()をLoginで呼び出す【重複
-
[解決済み】警告:mysql_fetch_array()はパラメータ1がリソースであることを期待、ブール値は[重複]で与えられる]
-
[解決済み] [Solved] Fatal error: 非オブジェクトのメンバ関数fetch_assoc()の呼び出し [重複]。
-
[解決済み] SSLエラー SSL3_GET_SERVER_CERTIFICATE:証明書の検証に失敗しました。
-
[解決済み] libapache2-mod-php7 パッケージの場所がわからない