0

次の配列は次のとおりです。

Array
(
    [1] => Array
        (
            [0] => 10
            [1] => 13
        )

    [2] => Array
        (
            [0] => 8
            [1] => 22
        )

    [3] => Array
        (
            [0] => 17
            [1] => 14
        )
)

で、〜がある

$chosenNumber = 17

私が知る必要があるのは:

最初) 17 が配列にある場合

2 番目) 持っているキー (この場合は [0])

3 番目) 所属するインデックス (この場合は [3])

最初のステップを解決するために in_array 関数を使用するつもりでしたが、文字列に対してのみ機能するようです..

ありがとうございます!

4

5 に答える 5

3
function arraySearch($array, $searchFor) {
    foreach($array as $key => $value) {
        foreach($value as $key1 => $value1) {
            if($value1 == $searchFor) {
                return array("index" => $key, "key" => $key1);
            }
        }
    }

    return false;
}

print_r(arraySearch($your_array, 17));
于 2012-09-24T08:48:45.380 に答える
1

これらを使用して見る必要があります:

in_array()
array_search()
于 2012-09-24T08:48:20.753 に答える
0

array_keys()

  • 配列のすべてのキーまたはキーのサブセットを返します

array_values()

  • 配列のすべての値を返します

array_key_exists()

  • 指定されたキーまたはインデックスが配列に存在するかどうかを確認します

in_array()

  • 値が配列に存在するかどうかを確認します

詳細については、 http://www.php.net/manual/en/function.array-search.phpを参照してください。

于 2012-09-24T09:11:02.210 に答える
0

array_search 関数を使用しました

$qkey=array_search(value,array);
于 2012-09-24T08:47:46.740 に答える
0

array_searchを使用します:

$index = array_search($chosenNumber, $myArray);
if($index){
    $element = $myArray[$index];
}else{
    // element not found
}

array_search は、要素が見つからない場合は false を返し、それ以外の場合は探していた要素のインデックスを返します。

値が配列内に複数回ある場合、最初に一致したキーのみが返されます。すべての一致が必要な場合は、オプションの search_value パラメーターを指定して array_keysを使用する必要があります。

$indexes = array_keys($myArray, $chosenNumber);

これは、検索値を含むすべてのインデックスの (場合によっては空の) 配列を返します。

于 2012-09-24T08:47:53.790 に答える