私は配列を構築するのに役立つ小さな関数を作成しました(select2要素を設定するために使用します)。それは素晴らしい動作しますが、開始番号として0を受け付けません。自動インクリメント機能は開始番号として0を受け付けません
本当に重要ではありませんが、なぜこれが起こり、どうやって解決するのかを本当に理解したいと思います。
function create_numstring_array($startNum, $endNum, $jumps, $sideString = NULL) {
if($startNum && $endNum) {
$data = array();
$counter = intval($startNum);
while($endNum > $counter) {
$data["$counter"] = $counter.' '.$sideString;
$counter = $counter + $jumps;
// echo $counter."<br />";
}
return $data;
}
}
/* DOESNT WORK
echo '<pre>Code:'."<br />";
print_r(create_numstring_array(0, 9, 0.5, ''));
echo '</pre>'."<br />";
*/
/* WORKS! */
echo '<pre>Code:'."<br />";
print_r(create_numstring_array(1, 9, 0.5, ''));
echo '</pre>'."<br />";
私はそれが$counter = 0
ので、この部分
while($endNum > $counter) {
で立ち往生推測するが、私はこれをどのように克服することができます:ここでは
は、関数のですか?
エラーはその前です。エラー: '($ startNum && $ endNum)'、 '$ startNum = 0'の場合、(bool)0はfalseを意味するのでテストは失敗します。 – kaldoran
[PHP型比較表](http://php.net/manual/en/types.comparisons.php)ページの最初の表の最後の列は、なぜ機能しないのかを明確にする必要があります。 – axiac