如何从指定JSON提取并显示tld值?求Blade代码修正方案
修正Blade代码以正确提取TLD值
我来帮你搞定这个问题~先看看你提供的PHP数组结构,$final_data1['tldlist']['tld']里的每个元素要么是带tld键的数组,要么是空数组(就是第4个元素)。你之前的循环直接输出$key,其实是在打印整个数组对象,而且还会输出空内容,所以才不对。
原始数组核心结构
Array ( [tldlist] => Array ( [tld] => Array ( [0] => Array ( [tld] => co.uk ) [1] => Array ( [tld] => eu ) [2] => Array ( [tld] => live ) [3] => Array ( [tld] => org ) [4] => Array ( ) ) [tldcount] => 5 ) // 其他无关字段省略 )
修正后的Blade代码
@foreach($final_data1['tldlist']['tld'] as $item) {{-- 先判断当前项是否有有效的tld值,避免输出空内容或报错 --}} @if(isset($item['tld']) && !empty($item['tld'])) {{ $item['tld'] }}<br> @endif @endforeach
代码说明
- 把循环变量名从
$key改成$item,更符合语义,一看就知道是每个TLD条目 - 用
isset($item['tld'])确保tld这个键存在,防止出现“Undefined index”的错误 - 加上
!empty($item['tld'])过滤掉数组里那个空的元素,不会在页面上输出空行 - 直接调用
$item['tld']才能拿到具体的TLD字符串,而不是输出整个数组对象
修改后页面就会正确显示:
co.uk
eu
live
org
内容的提问来源于stack exchange,提问作者sharmila
相关产品推荐
相关产品推荐

