我的网站使用外部 API。当用户选择城市和城镇时,API 返回街区。但问题是,如果只有一个邻域数组包含名称和邻域 id。但如果有多个,则每个邻域包含多个数组。
单例;
array(
'Code' => 123,
'NeighborhoodName' => 'Name'
)
多个例子
array(
array(
'Code' => 123,
'NeighborhoodName' => 'Name'
),
array(
'Code' => 123,
'NeighborhoodName' => 'Name'
)
我必须在选择框中向用户显示数据。
<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 但没有工作
答案 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