如果搜索值在数组中存在多次,array_search可以返回第二个索引吗?

时间:2014-08-14 12:41:39

标签: php arrays

是否可以修改array_search(),以便在数组中多次找到搜索值时返回第二个索引?

这是我的例子:

$barcode = '9815';

$product = array ([product_id] => 9815 [sale] => on [barcode] => 9815);

$key = array_search($barcode, $product); 

echo $key;

输出

 product_id

如何重写上述内容,以便在数组中多次找到$barcode值时,它会返回barcode索引而不是product_id索引?

任何建议都会很棒 - 谢谢

2 个答案:

答案 0 :(得分:4)

你不会。相反,您可以将array_keys与其可选参数一起使用,并从那里获取,例如:

$product = array ('product_id' => 9815, 'sale' => 'on', 'barcode' => 9815);
$key = array_keys($barcode, $product); 
echo $key[1];

答案 1 :(得分:2)

您可以在array_reverse

之前使用array_search
<?php
$barcode = '9815';

$product = array ("product_id" => 9815, "sale" => "on", "barcode" => 9815);

$key = array_search($barcode, array_reverse($product)); 
print_r(array_reverse($product));
echo $key;
?>