【问题标题】:PHP function array_search() doesn't work with variablePHP函数array_search()不适用于变量
【发布时间】:2014-02-14 10:50:24
【问题描述】:
函数array_search 仅适用于数字而不适用于变量,例如。
$key = array_search(2345632, $rozm);
但我需要它从变量中获取数字
$key = array_search($ro, $rozm);
但它不起作用。
【问题讨论】:
标签:
php
arrays
string
function
search
【解决方案1】:
它确实有效.. 看这里
<?php
$rozm=[23,54,55];
$ro=54;
echo $key = array_search($ro, $rozm); //"prints" 1
Demo
为什么它对你不起作用?
你的 $ro 变量必须是一个字符串.. 所以就像这样转换它
$key = array_search(intval($ro), $rozm);
【讨论】:
-
第一个参数不要求必须是字符串。如果有这样的要求,那么第一个版本是怎么打印1的呢? array_search() 不关心参数的类型除非您将strict 参数设置为true 运行它(An exception - If needle is a string, the comparison is done in a case-sensitive manner. - 但这里不是这种情况) :)