我想获得 数组
中完全数字位置的值数组值:
$val = array('banana' , 'second' , 'apple');
当用户搜索以获取值 apple
时它会显示
3
因为它是第3个元素
当用户搜索香蕉
时它会显示
1
答案 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;