ホームページ >バックエンド開発 >PHPチュートリアル >奇妙な問題: max 関数がパラメータを認識できない
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 クラスのコードです。ローカルではエラーを報告しませんでしたが、サーバー上ではこの max のようなエラーが報告されました。 () [function.max]: 配列には少なくとも 1 つの要素が含まれている必要があります
max 関数の前に $chrw を出力します。これには、array([1]=>6.35 [2]=>6.35 [3]) という内容が含まれています。 =>6.35) 変数は max 関数に確実に配置できます。エラー メッセージは、array([1]=>6.35 [2]=>6.35 [3]) 内の配列に問題があることを示します。 =>6.35)
この配列はどう見てもおかしい気がします
配列には少なくとも 1 つの要素が含まれている必要があります
配列には少なくとも 1 つの要素が含まれている必要があります
この配列については正しくないと思いますどう見ても
すみません、私の手書きです、こんな感じです
配列
(
[0] => 6.35
[1] => 6.35
[2] => 6.35
)
配列には少なくとも 1 つの要素が含まれている必要があります
配列には少なくとも 1 つの要素が含まれている必要があります
Array
(
[0] =& gt; 6.35
[1 ] => 6.35
[ 2] => 6.35
)
配列に要素があります
var_dump($chrw) で内容を確認します
array(3) { [0]= > float(6.35) [1]=> float(6.35) [2]=>
php が空であることは間違いありません。
array_walk($chrw, array($this, 'getRawCharWidth');
var_dump($chrw);
$maxchwidth = max($chrw);
php を見てください、それが空であるなら、それは空です。
$chrw = $this->GetArrStringWidth($chars, '', '', 0, true);
array_walk($chrw, array($this, 'getRawCharWidth');
var_dump($chrw);
個別に見てください
あなたの言ったことを実行して個別に調べましたが、出力はすべて
array(3) { [0 ] => float(6.35) [1]=> float(6.35) [2]=> float(6.35) }
php は空であることは間違いありません。
$chrw = $this->GetArrStringWidth($chars, '', '', 0, true);
array_walk($chrw, array($this, 'getRawCharWidth');
var_dump($chrw);
$maxchwidth = max($chrw);
個別に見てみましょう
array(3) { [0]=> float(6.35) ) [ 2]=> float(6.35) } array(3) { [0]=> float(6.35) [2]=>そして奇妙なことに、max はエラーを報告しましたが、私の echo $maxchwidth は 6.35 であることが判明しました
超自然的な出来事
そしてそれはローカルでは正しかったですが、サーバーが間違っていました
上記の var_dump をローカルでテストしましたか?エラーのあるサーバーでテストする必要があります
奇妙なのは、max がエラーを報告したにもかかわらず、私の echo $maxchwidth が 6.35 であることが判明したことです
超自然的な出来事
そして、ローカルのものは正しいですが、サーバーが間違っています
上記の var_dump をローカルでテストしましたか?エラーが発生したサーバーでテストする必要があります
まあ、サーバー上でテストされました
また奇妙なことに、max はエラーを報告しましたが、私の echo $maxchwidth は 6.35 であることが判明しました
次に、次のことを確認する必要があります他に Max() がどこかで使用されているため、どこかでエラーが報告されている可能性があります
max() [function.max]: 配列には少なくとも 1 つの elementError ファイルが含まれている必要があります: includeplugintcpdftcpdf.php の 6301 行目 >>
> > 前のページに戻る
もう 1 つの奇妙な点は、max がエラーを報告したにもかかわらず、私の echo $maxchwidth が 6.35 であることが判明したことです
次に、max() が他の場所で使用されているかどうかを確認する必要があります。他の場所でエラーが報告されました
行数を指定する場合は、この行に指定してください
皆さん、ありがとうございます、何が起こったのかわかりませんが、今日はうまくいきました