我试图遍历数组内部的数组,以便显示电话号码或分机号码。例如:如果用户同时拥有(电话号码和分机号码),那么我应该只显示电话号码,但有时用户只有分机号码,那么我应该显示分机号码。
这是我的代码:
<table style="padding: 40px;margin-left: -10px;margin-top:-38px;display: inline-block;">
<div style="margin-top:16px;margin-left:10px;">
<input type="checkbox" id="checkAll"/>
</div>
<div style="padding:20px;">
@foreach($resultArray as $key => $value)
@foreach($value as $key2 => $value2)
@if(is_array($value2))
@foreach($value2 as $key3 => $value3)
<?php
// echo var_dump($value3);
if (in_array($value3['phoneNumber'], $value3)) {
if (strlen($value3['phoneNumber']) === 11) {
$value3['phoneNumber'] = ltrim($value3['phoneNumber'], 1);
}
}
else{
$value3['phoneNumber'] = $value3['extension'];
}
?>
<tr>
<td>
<input class="input_checkbox" type="checkbox"
id="{{$key3}}customer-name-checkbox" name="{{$key3}} "
value="yes"><span style="padding-left:40px;"></span>
</td>
<td>{{$value3['firstName']}} {{$value3['lastName']}}</td>
<td>{{$value3['phoneNumber']}}}</td>
<td><input style="margin-left:60px;float: right;" type="email" class="styled-text rounded" name="{{$key3}}" id="{{$key3}}customer-name-inputField" placeholder="" value=""/><br/><br/>
</td>
</tr>
@endforeach
@endif
@endforeach
@endforeach
</div>
</table>
有人可以告诉我,我做错了吗?非常感谢你提前!!
答案 0 :(得分:2)
根据您的要求,我认为您需要这样的事情:
<?php
foreach ($resultArray['searchUserResults']['searchUserResult'] as $key => $data)
{
if (isset($data['phoneNumber']))
echo $data['phoneNumber'];
else if (isset($data['extension']))
echo $data['extension'];
}
?>
这将输出两者中的任何一个,但如果两者都存在,则仅输出phoneNumber
。
您不需要所有嵌套的foreach
循环来完成此任务。而是只迭代子数组。