Php 如果值存在,则返回数组的键
检查变量是否作为其值存在于数组中并返回其键的最快方法是什么 例如:Php 如果值存在,则返回数组的键,php,arrays,optimization,Php,Arrays,Optimization,检查变量是否作为其值存在于数组中并返回其键的最快方法是什么 例如: $myArray = [ "test" => 1, "test2" = 2, "test3" = 3]; $var = [1,6,7,8,9]; 我需要的是如果($var在$myArray中)返回(在本例中)测试 不做两个循环就可以吗? 在_array()中是否有类似于的函数可以在找到值时返回该值的键?您可以使用array\u search foreach($var as $value) { $key = ar
$myArray = [ "test" => 1, "test2" = 2, "test3" = 3];
$var = [1,6,7,8,9];
我需要的是如果($var在$myArray中)返回(在本例中)
测试
不做两个循环就可以吗?
在_array()中是否有类似于
的函数可以在找到值时返回该值的键?您可以使用array\u search
foreach($var as $value)
{
$key = array_search($value, $myArray);
if($key === FALSE)
{
//Not Found
}
else
{
//$key contains the index you want
}
}
foreach ($var as $row)
{
$index_val = array_search($row, $myArray);
if ($index_val === false)
{
echo "not present";
}
else
{
echo "presented";
}
}
array_search-在数组中搜索给定值,如果成功,则返回相应的键
示例:
$myArray = ["test" => 1, "test2" = 2, "test3" = 3];
$var = [1, 6, 7, 8, 9];
foreach ($var as $i) {
$index = array_search($i, $myArray);
if ($index === false) {
echo "$i is not in the array";
} else {
echo "$i is in the array at index $index";
}
}
您可以使用array\u search
foreach($var as $value)
{
$key = array_search($value, $myArray);
if($key === FALSE)
{
//Not Found
}
else
{
//$key contains the index you want
}
}
foreach ($var as $row)
{
$index_val = array_search($row, $myArray);
if ($index_val === false)
{
echo "not present";
}
else
{
echo "presented";
}
}
array_search-在数组中搜索给定值,如果成功,则返回相应的键
示例:
$myArray = ["test" => 1, "test2" = 2, "test3" = 3];
$var = [1, 6, 7, 8, 9];
foreach ($var as $i) {
$index = array_search($i, $myArray);
if ($index === false) {
echo "$i is not in the array";
} else {
echo "$i is in the array at index $index";
}
}
您可以使用array\u search
foreach($var as $value)
{
$key = array_search($value, $myArray);
if($key === FALSE)
{
//Not Found
}
else
{
//$key contains the index you want
}
}
foreach ($var as $row)
{
$index_val = array_search($row, $myArray);
if ($index_val === false)
{
echo "not present";
}
else
{
echo "presented";
}
}
请注意,如果未找到该值,函数将返回false
,但它也可能返回一个与false相同的值,例如零基数组上的0,因此最好使用=
运算符,如上面的示例所示
查看更多信息您可以使用数组搜索
foreach($var as $value)
{
$key = array_search($value, $myArray);
if($key === FALSE)
{
//Not Found
}
else
{
//$key contains the index you want
}
}
foreach ($var as $row)
{
$index_val = array_search($row, $myArray);
if ($index_val === false)
{
echo "not present";
}
else
{
echo "presented";
}
}
请注意,如果未找到该值,函数将返回false
,但它也可能返回一个与false相同的值,例如零基数组上的0,因此最好使用=
运算符,如上面的示例所示
请查看以了解更多信息。不需要使用2loop。
使用“数组相交”。
“array_intersect”将返回两组数组中的公共值
如果要匹配关键点,请使用“数组\u相交\u关键点”
$myArray = array("test" => 1, "test2" => 2, "test3" => 3);
$var = array(1,6,7,8,9);
$intersect=array_intersect($myArray, $var);
var_dump($intersect);
输出:
array(1) {
["test"]=> int(1) }
Dnt需要使用2个环路。
使用“数组相交”。
“array_intersect”将返回两组数组中的公共值
如果要匹配关键点,请使用“数组\u相交\u关键点”
$myArray = array("test" => 1, "test2" => 2, "test3" => 3);
$var = array(1,6,7,8,9);
$intersect=array_intersect($myArray, $var);
var_dump($intersect);
输出:
array(1) {
["test"]=> int(1) }
使用array\u search()
使用array\u search()
编辑时使用array\u search()@Dinidu,同时删除诸如“您好”、“谢谢”等内容。array\u search是我一直在寻找的,谢谢@jothivar_dump(数组键(数组相交($myArray,$var))代码>@hjpotter92我也想到了这一点,但我的意见是保留这篇文章的原创性。我将在以后的编辑中删除它们。谢谢你的评论。编辑时使用array_search()@Dinidu,同时删除诸如“嗨”、“谢谢”等内容。array_search是我一直在寻找的,谢谢@jothivar_dump(数组键(数组相交($myArray,$var))代码>@hjpotter92我也想到了这一点,但我的意见是保留这篇文章的原创性。我将在以后的编辑中删除它们。感谢您的评论。虽然此代码可能有助于解决此问题,但提供有关为什么和/或如何回答此问题的其他上下文将显著提高其长期价值。请在您的答案中添加一些解释。尽管此代码可能有助于解决问题,但提供有关其回答问题的原因和/或方式的附加上下文将显著提高其长期价值。请在您的回答中添加一些解释。