2

1 つの値が数値で、もう 1 つの値が文字列である場合、加算の操作はどのように機能するのだろうか 例:

echo $j = 1 + "stackoverflow";

私はこの式を実行しようとしました.それは私に1を出力します..文字列が関与していない理由を誰かが説明できますか?

4

4 に答える 4

3

stackoverflow数字なしで始まるので、php は 0 を取ります

1stackoverflow数字1で始まるため、1になります

于 2012-10-31T10:26:25.753 に答える
2

これを行うと、PHP は文字列の整数値を解析しようとします。この場合"stackoverflow"、 に解析され0ます。

を使用すると、文字列の整数値が何であるかを自分で確認できますintval()

intval("stackoverflow"); // = 0
intval("123stackoverflow"); // = 123

遊んで慣れてください。

于 2012-10-31T10:26:43.613 に答える
1

上記の操作では、PHP は両方のオペランドを数値に変換しようとします。したがって、「stackoverflow」文字列は実際には数値 - この場合は 0 に変換されます。なぜこれが起こるのかは、このマニュアルページで最もよく説明されています - 文字列を数値に変換します。ご了承ください

$j = 1 + "1stackoverflow"

結果として 2 が生成されます。

于 2012-10-31T10:29:37.753 に答える
0

文字列を整数に変換しようとしてから、それを数値に追加するためです。基本的にはecho $j = 1 + intval("stackoverflow"); 、文字列を数値に連結したい場合は、連結演算子、つまりドットを使用する必要があります:echo $j . "stackoverflow"

于 2012-10-31T10:28:23.583 に答える