ホームページ >バックエンド開発 >PHPチュートリアル >奇妙な問題: max 関数がパラメータを認識できない

奇妙な問題: max 関数がパラメータを認識できない

WBOY
WBOYオリジナル
2016-06-23 14:19:152031ブラウズ

PHP

$chrw = $this->GetArrStringWidth($chars, '', '', 0, true);		array_walk($chrw, array($this, 'getRawCharWidth'));		$maxchwidth = max($chrw);

がこのエラーを報告しました max() [function.max]: 配列には少なくとも 1 つの要素が含まれている必要があります
max 関数の前に $chrw を出力しました。つまり、array([1]=>6.35 [2 ]=) >6.35 [3]=>6.35)

ディスカッション(解決策)に返信

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 つの要素が含まれている必要があります



変数は必ず最大数に配置できますエラー メッセージは、array([1]=>6.35 [2]=>6.35 [ 3]=>6.35) 内の配列に問題があることを示しています

この配列については正しくないと思いますどう見ても

すみません、私の手書きです、こんな感じです
配列
(
[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) で内容を確認します

var_dump($chrw) で内容を確認します

array(3) { [0]= > float(6.35) [1]=> float(6.35) [2]=>


php が空であることは間違いありません。

$chrw = $this->GetArrStringWidth($chars, '', '', 0, true);

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);

$maxchwidth = max($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 であることが判明したことです

次に、max() が他の場所で使用されているかどうかを確認する必要があります。確かではありませんが、エラーは他の場所で報告されました

超自然的な出来事
そして、ローカルのものは正しいですが、サーバーが間違っています

上記の var_dump をローカルでテストしましたか?エラーが発生したサーバーでテストする必要があります
まあ、サーバー上でテストされました


また奇妙なことに、max はエラーを報告しましたが、私の echo $maxchwidth は 6.35 であることが判明しました

次に、次のことを確認する必要があります他に Max() がどこかで使用されているため、どこかでエラーが報告されている可能性があります

max() [function.max]: 配列には少なくとも 1 つの elementError ファイルが含まれている必要があります: includeplugintcpdftcpdf.php の 6301 行目 >>
> > 前のページに戻る

もう 1 つの奇妙な点は、max がエラーを報告したにもかかわらず、私の echo $maxchwidth が 6.35 であることが判明したことです

次に、max() が他の場所で使用されているかどうかを確認する必要があります。他の場所でエラーが報告されました
行数を指定する場合は、この行に指定してください

最大値を計算する前に、array_values($chrw) を使用して配列を処理してみてください

皆さん、ありがとうございます、何が起こったのかわかりませんが、今日はうまくいきました

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。