下記コードで実行すると
var_dump($s_e);は
5000
になりますが
$test = 05000
に変えると結果は
2540になります。
php
1<?PHP 2$test = 5000; 3 4$shop_exten = array( $test ); 5 6for ($i = 0; $i < count($shop_exten); $i ++) { 7 $s_e = $shop_exten[$i]; 8 $s_e = ltrim($s_e, "0"); 9var_dump($s_e); 10 $s_e ++; 11 $s_e = str_pad($s_e, 4, 0); 12 if (in_array($s_e, $shop_exten) == false) { 13 $auto_num = $s_e; 14 } 15} 16 17 var_dump($auto_num); 18?> 19
マニュアルによると
文字列の最初から空白 (もしくはその他の文字) を取り除きます。
とあります。
なので05000は
ltrim($s_e, "0");
の引数2で指定している0が先頭だけ削除され
私としての期待値は5000になると思っていたのですが
なぜ2540になるのかわかりません。
なぜこの数値になるのか解説をお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。