簡體   English   中英

PHP數組:如何獲取元素所在的索引

[英]PHP arrays: How to get the index where an element is

這是以下數組:

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

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

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

那我有

$chosenNumber = 17

我需要知道的是:

首先)如果數組中有17

其次)它具有的密鑰(在這種情況下為[0])

第三)它所屬的索引(在本例中為[3])

我本打算使用in_array函數來解決第一步,但似乎只適用於字符串..

萬分感謝!

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));

您應該使用以下命令:

in_array()
array_search()

您已使用array_search函數

$qkey=array_search(value,array);

您使用array_search

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

如果找不到元素,則array_search返回false,否則返回您正在尋找的元素的索引。

如果一個值多次在數組中,則僅返回第一個match的鍵 如果需要所有匹配項,則需要將array_keys與指定的可選search_value參數一起使用:

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

這將返回一個包含您的搜索值的所有索引的數組(可能為空)。

array_keys()

  • 返回數組的所有鍵或鍵的子集

array_values()

  • 返回數組的所有值

array_key_exists()

  • 檢查給定鍵或索引在數組中是否存在

in_array()

  • 檢查數組中是否存在值

您可以在這里找到更多信息http://www.php.net/manual/en/function.array-search.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM