如何在平面数组中搜索特定值?

问题描述 投票:0回答:1

如果我有一个包含 1,2,3,4,5 的数组,并且我想取 IF 有 4 则返回 4,如果没有 4 则不返回任何内容,该怎么办

示例我有一个从 1 到 5 的数组

$numbers = '1,2,3,4,5';

我想拿3个 我想把3当作3来匹配参数3而不是数组id

$numbers = '1,2,3,4,5';
$array =  explode(',', $numbers);

echo $array[3]; // return 3

Array
(
    [0] => 1
    [1] => 2
    [2] => 3 // get this
    [3] => 4 // not this
    [4] => 5
)

如果数组的值为 1,2,4,5 而我还在寻找 3 啥也不说了

$numbers = '1,2,4,5';
$array =  explode(',', $numbers);

echo $array[3]; // null
Array
(
    [0] => 1
    [1] => 2
    [2] => 4
    [3] => 5
)

或者只是寻找此代码的缩写

<?php 
$arrays =  explode(',', $aa['cat']);
$setCat1 = false;
$setCat2 = false;

foreach ($arrays as $array)
{
    if($array == 1){
        $setCat1 = true;
    }
    if($array == 2){
        $setCat2 = true;
    }
}
php arrays validation
1个回答
3
投票

我不确定你想解决什么问题,但我认为这会满足你的要求。使用

in_array()
查看数组中是否包含某个值。

<?php                                                                                                                                                               
$numbers = '1,2,3,4,5';                                                                                                                                             
$array =  explode(',', $numbers);                                                                                                                                   
                                                                                                                                                                    
$wanted_value = 3;                                                                                                                                                  
$output = in_array($wanted_value, $array) ? $wanted_value : NULL;                                                                                                   
echo $output;  
© www.soinside.com 2019 - 2024. All rights reserved.