我有一個數組,我想獲得一個特定的值的位置之後PHP數組獲取特定值
例子:
$my_array = array(0,2,5,3,7,4,5,2,1,6,9);
我的搜索是5號的位置在序列號5爲(和)
如果我調用array_search
函數,總是返回陣列女巫的第一個位置是。
有無論如何獲得具體價值的兩個或多個位置?
我有一個數組,我想獲得一個特定的值的位置之後PHP數組獲取特定值
例子:
$my_array = array(0,2,5,3,7,4,5,2,1,6,9);
我的搜索是5號的位置在序列號5爲(和)
如果我調用array_search
函數,總是返回陣列女巫的第一個位置是。
有無論如何獲得具體價值的兩個或多個位置?
使用array_keys與可選的搜索參數,應返回所有的鍵。
$matches = array_keys($my_array, 5);
只是循環陣列上:
/* Searches $haystack for $needle.
Returns an array of keys for $needle if found,
otherwise an empty array */
function array_multi_search($needle, $haystack) {
$result = array();
foreach ($haystack as $key => $value)
if ($value === $needle)
$result[] = $key;
return $result;
}
謝謝回答埃米爾Vikström分隔值的數組,是的,這作品! – AkisC
看一看array_keys第二個參數。你可以拿到鑰匙只匹配$search_value
$result = array();
foreach ($array as $key => $value)
{
$result[$value] =implode(',',array_keys($array,$value))
}
echo '<pre>';
print_r($result);
它會給你價值觀的關鍵和它們的出現是由逗號
是的謝謝你使用array_keys更好,謝謝christian.thomas – AkisC
如果數組鍵被改變,該怎麼辦? – Aabid
完美。感謝這個真棒解決方案 – BoCyrill