ホームページ >バックエンド開発 >PHPチュートリアル >PHPの文字と配列に関する疑問
PHP の文字と配列に関する質問
$str="123456";
var_dump($str["abc"]);
結果が null ではなく最初の文字になるのはなぜですか? unset($str["abc"]) すると、そのような添え字は存在しないというメッセージが表示されます。
------解決策---------
文字列は配列ではなく、位置のみです。一番下のタグと関連キーではありません
配列関連の関数は文字列では使用できません
したがって、$str["abc"] の "abc" は値 0
に変換されます。
$str="123456"; の場合、$str["abc"] は $str[0] なので、1
が得られます。
文字列内の特定の位置にアクセスするには $str[$i]
と書くこともできますが、
ただし、あいまいさを避けるために、PHP では $str{$i}
------解決策----- 手動比較演算子セクション
------------------------------------------
var_dump(0 == "a"); // 0 == 0 -> true
var_dump("1" == "01"); // 1 == 1 ->
var_dump("1" == "1e0"); // 1 == 1 ->
スイッチ ("a") {
ケース 0:
エコー "0";
休憩;
case "a": // "a" はすでに 0
と一致しているため、到達しません
echo "a";
休憩;
}
?>
------------------------
スイッチの例は非常にわかりやすいです
文字列インデックスには「string」を使用できませんが、php はそれを「インテリジェントに」処理して 0