ホームページ  >  記事  >  バックエンド開発  >  phpの二次元配列には一次元配列が含まれていますか?

phpの二次元配列には一次元配列が含まれていますか?

PHPz
PHPzオリジナル
2023-05-05 20:59:06509ブラウズ

PHP でプログラミングする場合、配列の使用がよく関係します。配列は、PHP で最も重要かつ基本的なデータ型の 1 つであると言えます。配列を使用すると、1 つの変数名で複数のデータ項目を参照できます。配列では、2 次元配列はデータ構造の一般的な形式であり、複数の配列を要素として含み、より複雑なデータ構造を表現するために使用されます。 2 次元配列を扱うとき、よく次の問題に遭遇します。2 次元配列に 1 次元配列が含まれているかどうかを判断するにはどうすればよいでしょうか。

2 次元配列とは何ですか?

PHP では、2 次元配列とは複数の配列を含む配列を指し、これらの配列は行列とみなすことができ、各配列は行または列に対応します。次のコードで 2 次元配列を定義できます。

$arr = array(
    array("apple", "orange", "banana"),
    array("dog", "cat", "bird"),
    array("red", "green", "blue")
);

この 2 次元配列 $arr は 3 つの 1 次元配列で構成され、各 1 次元配列には 3 つの要素が含まれます。以下に示すように、二重ループを通じて 2 次元配列の各要素をトラバースできます。

for ($i = 0; $i < count($arr); $i++) {
    for ($j = 0; $j < count($arr[$i]); $j++) {
        echo $arr[$i][$j] . " ";
    }
    echo "<br>";
}

実行結果は次のとおりです。

apple orange banana 
dog cat bird 
red green blue 

2 次元配列かどうかを判断する方法1 次元配列が含まれていますか?

実際の開発では、2 次元配列内の要素をフィルタリングまたは条件付きでフィルタリングする必要がある場合があります。 1 次元配列が存在する場合、それが 2 次元配列に含まれているかどうかを判断する必要があるため、PHP の in_array() 関数を使用して判断できます。

in_array() 関数は、指定された値が配列内に存在するかどうかを判断できます。形式は次のとおりです:

in_array($needle, $haystack, $strict)

このうち、$needle は検索する必要がある値であり、 $haystack は、検索する必要がある配列です。$strict はオプションのパラメータで、厳密モードがオンになっているかどうかを示します。オンになっていない場合は、型ではなく、要素の値のみが照合されます。

次のコードを使用して、1 次元配列が 2 次元配列に存在するかどうかを判断できます:

function search_arr($arr, $search) {
    foreach ($arr as $key => $value) {
        if (in_array($search, $value)) {
            return true;
        }
    }
    return false;
}

このコードでは、search_arr() 関数は 2 つのパラメーター $arr を受け入れます。は 2 次元配列、$search は検索対象の 1 次元配列です。 foreach ループを使用して 2 次元配列内の各 1 次元配列を走査し、各 1 次元配列で in_array() 関数を使用して必要な 1 次元配列を見つけます。見つかった場合は true を返します。 、それ以外の場合は false を返します。

サンプルコードは次のとおりです。

$arr = array(
    array("apple", "orange", "banana"),
    array("dog", "cat", "bird"),
    array("red", "green", "blue")
);

$search1 = array("apple", "orange", "banana");
$search2 = array("cat", "dog", "bird");

if (search_arr($arr, $search1)) {
    echo "存在$search1";
} else {
    echo "不存在$search1";
}

echo "
"; if (search_arr($arr, $search2)) { echo "存在$search2"; } else { echo "不存在$search2"; }

実行結果は次のとおりです。

存在Array
不存在Array

検索関数 search_arr() を使用して、1 次元配列が存在するかどうかを判断できます。二次元配列で。

概要

PHP では、2 次元配列は、より複雑なデータ構造を表現するための要素として複数の配列を含むデータ構造の一般的な形式です。 1 次元配列が 2 次元配列に含まれているかどうかを判断する必要がある場合は、in_array() 関数を使用して判断できます。実際の開発では、2 次元配列と in_array() 関数を使用すると、データ構造をより適切に処理し、データのフィルタリングやフィルタリングなどの操作を実行できます。

以上がphpの二次元配列には一次元配列が含まれていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:phpのjson形式変換次の記事:phpのjson形式変換