PHP
$chrw = $this->GetArrStringWidth($chars, '', '', 0, true); array_walk($chrw, array($this, 'getRawCharWidth')); $maxchwidth = max($chrw);
如果我写max(array(6.35,6.35,6.35)),则错误消失
大神们知道怎么回事么??为啥max函数识别不出这个参数
这是 tcpdf类的代码,我本地没有报错,但是在服务器上就报错
$chrw = $this->GetArrStringWidth($chars, '', '', 0, true); array_walk($chrw, array($this, 'getRawCharWidth')); $maxchwidth = max($chrw);
Array must contain at least one element
阵列必须包含至少一种元素
max函数里肯定是可以放变量的,报错说明里面的数组有问题,array([1]=>6.35 [2]=>6.35 [3]=>6.35)
这个数组我怎么看都感觉不对啊
不好意思,那是我手写的,是这样的
Array
(
[0] => 6.35
[1] => 6.35
[2] => 6.35
)
Array must contain at least one element
阵列必须包含至少一种元素
数组是这样的
Array
(
[0] => 6.35
[1] => 6.35
[2] => 6.35
)
数组里面有元素啊
var_dump($chrw)看看是什么
var_dump($chrw)看看是什么
array(3) { [0]=> float(6.35) [1]=> float(6.35) [2]=> float(6.35) }
php 是不会弄错的,他说是空的那么就是空的了!
$chrw = $this->GetArrStringWidth($chars, '', '', 0, true);
var_dump($chrw);
array_walk($chrw, array($this, 'getRawCharWidth'));
var_dump($chrw);
$maxchwidth = max($chrw);
分别看一下
php 是不会弄错的,他说是空的那么就是空的了!
$chrw = $this->GetArrStringWidth($chars, '', '', 0, true);
var_dump($chrw);
array_walk($chrw, array($this, 'getRawCharWidth'));
var_dump($chrw);
$maxchwidth = max($chrw);
分别看一下
我按照您说的做了,分别看了下,但是输出的都是
array(3) { [0]=> float(6.35) [1]=> float(6.35) [2]=> float(6.35) }
php 是不会弄错的,他说是空的那么就是空的了!
$chrw = $this->GetArrStringWidth($chars, '', '', 0, true);
var_dump($chrw);
array_walk($chrw, array($this, 'getRawCharWidth'));
var_dump($chrw);
$maxchwidth = max($chrw);
分别看一下
array(3) { [0]=> float(6.35) [1]=> float(6.35) [2]=> float(6.35) } array(3) { [0]=> float(6.35) [1]=> float(6.35) [2]=> float(6.35) }
还有奇怪的,max虽然报错了,但是我 echo $maxchwidth 竟然是6.35
灵异事件
而且本地没错,服务器错
你上面的var_dump是否都在本地测试啊?要在出错的服务器上测试啊
还有奇怪的,max虽然报错了,但是我 echo $maxchwidth 竟然是6.35
那你就要检查是否还有别的地方用了max(),说不准是其他地方报错
灵异事件
而且本地没错,服务器错
你上面的var_dump是否都在本地测试啊?要在出错的服务器上测试啊
恩,就是在服务器上测试的
还有奇怪的,max虽然报错了,但是我 echo $maxchwidth 竟然是6.35
那你就要检查是否还有别的地方用了max(),说不准是其他地方报错
max() [function.max]: Array must contain at least one elementError File: \includes\plugin\tcpdf\tcpdf.php at 6301 line.
>> report_issue
>> 返回上一页
还有奇怪的,max虽然报错了,但是我 echo $maxchwidth 竟然是6.35
那你就要检查是否还有别的地方用了max(),说不准是其他地方报错
指定行数了就说在这一行
max计算前用 array_values($chrw) 处理下数组试试
谢谢大家,不知道怎么回事,今天自己就好使了