如何使用php获取数组的数字位置

时间:2013-02-22 15:50:44

标签: php arrays search numbers position

我想获得 数组

完全数字位置的值

数组值:

$val = array('banana' , 'second' , 'apple');

当用户搜索以获取值 apple

它会显示

  

3

因为它是第3个元素

当用户搜索香蕉

它会显示

  

1

4 个答案:

答案 0 :(得分:3)

像这样使用array_search()

$num = array_search('banana', $array) + 1;

答案 1 :(得分:2)

$keys= array_keys($val, "apple")

将返回值为2的数组(数组的所有索引都具有值“apple”)。

然后你只需得到该数组的第一个元素并添加1

$numericPosition = current($keys)

如果$ keys为空,即数组中不存在“apple”,则$ numericPosition === false,否则添加1.这确保您可以实际检测值何时不存在,如果只添加1 current($ keys)不在数组中的任何值都将位于第1位。

编辑:另一个答案的array_search只返回给定值的第一个键,因此它可能更符合您的需求,只需确保在添加1之前检查错误。

答案 2 :(得分:1)

除了通过数组和检查之外,没有其他方式(与其他答案的建议相反)。根据阵列的具体形状(值或键),任何其他解决方案都是黑客攻击。

$search = "banana";

$index = 1;
foreach ($val as $v) {
   if ($v === $search) break;
   $index++;
}

echo "$search is number: $index ";

答案 3 :(得分:1)

$word = 'banana';
$position = array_search($word, $val) + 1;