php警告非法字符串偏移'命令'

时间:2016-10-04 01:17:20

标签: php

我在网站的每个页面都收到了这个警告,错误信息如下: enter image description here

waring所引用的代码如下所示:

<?php
/**
 * Order the array by a key
 * 
 * @param array $a The array to sort
 * @param string $subkey The key used for the sorting
 * @return array Array sorted
 * 
 * @since 1.0                
 */   
function yiw_subval_sort( $a, $subkey ) {
	if( is_array( $a ) AND ! empty( $a ) ) {
		foreach( $a as $k => $v ) {
			$b[$k] = strtolower( $v[$subkey] );
		}
		
		asort( $b );
		
		foreach( $b as $key => $val ) {
			$c[] = $a[$key];
		}
		
		return $c;
	}
	
	return $a;
}   
?>

第19行是这一行:

$ b [$ k] = strtolower($ v [$ subkey]);

我确实看到有关堆栈溢出的几个问题指向这样的问题,但我已经尝试了一切,没有任何作用,请帮忙!提前谢谢!

1 个答案:

答案 0 :(得分:0)

检查$ subkey元素是否存在,如下所示:

if (isset($v[$subkey])) {
    $b[$k] = strtolower( $v[$subkey] );
} else {
    $b[$k] = '';
}

这也应该通过阻止错误文本来解决标题警告。