PHP変数が配列であるかどうかをチェックするには? $ valueはPHPの変数で、配列かどうかをチェックする方法は?PHP変数を特定する方法は配列かどうか
0
A
答えて
8
echo is_array($ variable);
3
PHPパラメータが配列か http://ir.php.net/is_array
1
IS_ARRAYであるかどうかを示すブール値を返す関数と命名IS_ARRAY($のVAR)を有する - 変数が配列
であるか否かを検索し
0
私は人々が複数の配列チェックを使用している場合、私はより良い解決策を持っていると思うので、ここでは遅い答えを追加しています。
単純に1つの配列をチェックしている場合は、PHPのis_array()
を使用するとうまく動作します。
if ((array) $users !== $users) {
// is not an array
} else {
// is an array
}
PROOF
: - 例えばループ内 - あなたが複数のアレイをチェックしている場合if (is_array($users)) {
is an array
} else {
is not an array
}
しかし、このためのより良いパフォーマンスのソリューションは、キャストを使用して、そこにあります
あなたはこのパフォーマンス・テストを実行する場合は、かなりの性能差が表示されます:
<?php
$count = 1000000;
$test = array('im', 'an', 'array');
$test2 = 'im not an array';
$test3 = (object) array('im' => 'not', 'going' => 'to be', 'an' => 'array');
$test4 = 42;
// Set this now so the first for loop doesn't do the extra work.
$i = $start_time = $end_time = 0;
$start_time = microtime(true);
for ($i = 0; $i < $count; $i++) {
if (!is_array($test) || is_array($test2) || is_array($test3) || is_array($test4)) {
echo 'error';
break;
}
}
$end_time = microtime(true);
echo 'is_array : '.($end_time - $start_time)."\n";
$start_time = microtime(true);
for ($i = 0; $i < $count; $i++) {
if (!(array) $test === $test || (array) $test2 === $test2 || (array) $test3 === $test3 || (array) $test4 === $test4) {
echo 'error';
break;
}
}
$end_time = microtime(true);
echo 'cast, === : '.($end_time - $start_time)."\n";
echo "\nTested $count iterations."
?>
を
RESULT
is_array : 7.9920151233673
cast, === : 1.8978719711304
+0
申し訳ありませんが、私は 'is_array'に固執します。 **それは何をしているのかを非常に正確に記述しています。**単一の呼び出しで保存する数マイクロ秒は、ソースコード難読化の価値はありません。あなたがここでやろうとしていたあなたの頭のWTFを傷つけるでしょう。 – deceze
関連する問題
- 1. PHPで整数からバイト配列に変換する方法
- 2. PHP変数の配列の値を取得する方法は?
- 3. PHP - 別の配列の値から配列内の変数を設定する
- 4. 変数が配列かオブジェクトかをチェックする方法は?
- 5. ColdFusion:特定の要素が2次元配列に存在するかどうかをチェックする方法は?
- 6. 変数が数値か文字列かどうかをチェックする方法は?
- 7. 配列から特定の要素を削除する方法
- 8. NSString =特定の文字列値かどうかをチェックする方法は?
- 9. PHPで配列である_SESSION変数の設定を解除する方法
- 10. numpy配列で特定の列を選択する方法は?
- 11. 特定の配列データをPHPから取得して配列に格納する方法
- 12. PHPで変数に配列を代入する方法
- 13. 特定の方法で配列をプリントアウト
- 14. 配列のすべての要素が特定の値であるかどうかをチェックする方法?
- 15. どちらが速いですか?定数、変数または変数配列
- 16. linuxコマンドプロンプトからPHPセッション変数を設定する方法は?
- 17. 2次元配列を特定の方法でプリントアウトするにはどうすればいいですか? (Java)
- 18. オブジェクトが特定のタイプの配列であるかどうかをチェックする方法
- 19. シンプルなPHP:配列からPHP変数を抽出する
- 20. PHP:配列のようになります配列に変換するクリーンな方法は何ですか
- 21. PHPの変数から特定の定義を削除する
- 22. php配列データをjavascript変数に送る方法
- 23. 変数が特定の範囲内にあるかどうかをテストする方法は?
- 24. 変数に配列サイズを定義する方法
- 25. 文字列がPHPの配列内に存在するかどうかをチェックする方法は?
- 26. JavaScriptで特定の配列変数が空であるかどうかを調べるにはどうすればよいですか?
- 27. 配列内の特定のポイントに特定のcharがあるかどうかを調べる方法はありますか?
- 28. 配列内の特定の項目の数を表示する方法は?
- 29. VBAからvb.net関数に配列変数を渡す方法
- 30. PHPで特定の重複配列値を取得する方法
OH C'MON! RTFM。 – mpen