参数必须是数组还是实现了Countable的对象?
Posted
技术标签:
【中文标题】参数必须是数组还是实现了Countable的对象?【英文标题】:Parameter must be an array or an object that implements Countable? 【发布时间】:2019-09-21 12:00:16 【问题描述】:我有这个返回错误的代码:
$response = curl_exec($client);
$result = json_decode($response);
$output = '';
if(count($result) > 0)
foreach($result as $row)
$output .= '
<tr>
<td>'.$row->name.'</td>
<td>'.$row->url.'</td>
错误
【问题讨论】:
【参考方案1】:您的代码首先有一些语法错误,您可以在此之前解决它。我猜你 $result 可能是一个数组。然后,您可以在 if 中添加 is_array
来为您检查。
$response = curl_exec($client);
$result = json_decode($response, true);
$output = '';
if (count($result) > 0 && is_array($result))
foreach ($result as $row)
$output .= '<tr><td>' . $row->name . '</td><td>' . $row->url . '</td></tr>';
else
die("Sorry! Result is not an array!");
这也是一个常见的错误。您可能会查看一些类似的帖子,例如 this post,其中解释了该错误。
【讨论】:
您能解释一下您对 OP 代码的改进吗,Emma?您如何验证代码不再抛出与问题中相同的错误?以上是关于参数必须是数组还是实现了Countable的对象?的主要内容,如果未能解决你的问题,请参考以下文章
PayPal sizeof():参数必须是数组或者实现了Countable的对象
搜索框count():参数必须是数组或者实现了Countable的对象
PHP count():参数必须是数组或者实现了Countable的对象