php - 如何修复 php 中的“非法字符串偏移”错误?
问题描述
我有一个多维数组,如下所示:
$rows[] = $row;
现在我想通过循环这个数组来创建变量。这就是我尝试的方式:
foreach ($rows as $k => $value) {
//echo '<pre>',print_r($value).'</pre>';
$id = $value['news_id'];
$title = $value['news_title'];
echo $title;
}
但它会产生如下错误:
......非法字符串偏移'news_id'
这是 -echo '<pre>',print_r($value).'</pre>';
Array
(
[news_id] => 1110
[news_title] => test
[news] => test des
)
1
Array
(
[news_id] => 1109
[news_title] => ශ්රී ලංකාවේ ප්රථම....
[news] => දහසක් බාධක....
)
1
谁能告诉我我做错了什么?
更新
输出echo '<pre>',print_r($rows).'</pre>';
Array
(
[0] =>
[1] => Array
(
[news_id] => 1110
[news_title] => test
[news] => test des
)
[2] => Array
(
[news_id] => 1109
[news_title] => ශ්රී ලංකාවේ ප්රථම....
[news] => දහසක් බාධක....
)
)
1
解决方案
使用isset
函数,因为你的 0 索引是空的$row
foreach ($rows as $k => $value) {
if(isset($value['news_id'])){
$id = $value['news_id'];
$title = $value['news_title'];
echo $title;
}
}
当您将数据分配给时,您应该添加检查(条件)$rows
推荐阅读
- java - 如何在 Spring Boot 上访问 wsdl 方法?
- c# - 如何在 IActionFilter Asp.net 核心中读取 OnActionExecuting(ActionExecutingContext 上下文)中的请求正文
- ruby-on-rails - 运行时的动态 Rails 路由
- java - 位图出现在屏幕外
- javascript - 如何将自定义属性传递给功能组件中的样式组件?
- c# - 如何使用包含通配符的字符串搜索组合框?
- javascript - 如何复制按钮文本?
- arrays - 如何将二维数组(30x20)扩展到 36x60,包含在 620x480 二维数组中?
- mysql - 尽管 prepatchcompatibility 显示没有错误,但 RDS 升级失败
- apache-spark - 计数操作不适用于聚合的 IgniteDataFrame