php Illegal string offset 'name'问题及解决

这篇文章主要介绍了phpIllegalstringoffsetname问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

php Illegal string offset 'name'

上面代码可以输出值,但是

报错Warning: Illegal string offset 'name' in 

原因是$person数组里面有空数组,空数组里没有name这个字段。

解决办法

是在 foreach 下面加个判断 if(is_array($value)),这样就搞定了。

   	$name = array();
    	foreach ($person as $value) {
    		if(is_array($value))
    		{
    			$name[] = $value['name'];
    		}
    		
    	}

thinkphp:Illegal string offset in 'xxxx'

在使用thinkphp5遇到这个问题 特地记录下。。

在排除各种什么不能用空数组做索引等原因之后,猛然发现volist标签是输出二维数组的。

而find方法返回的是一维数组。。。(*  ̄︿ ̄),当然,你也可以所有都用select方法

解决办法很简单

一维数组直接{关联数组的索引}输出 {$bp.id}  二维数组再用volist

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程学习网。

本文标题为:php Illegal string offset 'name'问题及解决

基础教程推荐