检测数组是否包含另一个数组

时间:2021-03-26 13:31:15

标签: php arrays laravel collections

我的网站使用外部 API。当用户选择城市和城镇时,API 返回街区。但问题是,如果只有一个邻域数组包含名称和邻域 id。但如果有多个,则每个邻域包含多个数组。

单例;

array(
'Code' => 123,
'NeighborhoodName' => 'Name'
)

enter image description here

多个例子

array(
    array(
    'Code' => 123,
    'NeighborhoodName' => 'Name'
    ),
array(
    'Code' => 123,
    'NeighborhoodName' => 'Name'
    )

) enter image description here

我必须在选择框中向用户显示数据。

<select  id="nh" class="form-control" name="belde" wire:model='selectedNH'>
            <option value="" selected default></option>
            
                @foreach($nh as $nhArray)
                     <option value="{{$nhArray['Kod']}}">{{$koyArray['KOY_Adi']}}</option>
                 @endforeach
            @endif
        </select>

正如预期的那样,如果只有一个街区,我的代码会抛出非法字符串偏移“Kod”错误。我试图为比较数组孩子的 gettype 但没有工作

2 个答案:

答案 0 :(得分:0)

试试这个:

@if(isset($nh['Kod']))
    <option value="{{ $nh['Kod'] }}">{{ $nh['KOY_Adi'] }}</option>
@else
    @foreach($nh as $nhArray)
        <option value="{{$nhArray['Kod']}}">{{$koyArray['KOY_Adi']}}</option>
    @endforeach
@endif

对答案的一些解释:在if语句中,你检查数组键['Kod'],如果数组键存在,那么你知道这个所有的地方都没有显示在数组中,然后在else中语句,你做你之前做的,遍历数组。

答案 1 :(得分:0)

您是否尝试过使用 is_array()?您可以在此处阅读更多相关信息:https://www.php.net/manual/en/function.is-array.php