for ($i=A;$i<L;$i++){
echo $i;
echo '->';
echo ++$i;
echo ', ';
}
私に与えます:
A->B、C->D、E->F、G->H、I->J、K->L
私が欲しいのは:
A->B、B->C、C->D、D->E、E->F、F->G
これを行う最も簡単な方法は何ですか?
単純:
for ($i=A;$i<L;){ // remove loop increment
echo $i;
echo '->';
echo ++$i;
echo ', ';
}
range() を使用してアルファベットを配列として取得し、適切な int i++ インクリメントを使用します。
値をインクリメントする前に値をコピーするのはどうですか:
for ($i = 'A'; $i < 'L'; $i++) {
$j = $i;
$j++;
echo "$i->$j, ";
}
Ps。文字列定数は引用符で囲む必要があります。そうしないと、ログは次のような警告でいっぱいになります。
PHP Notice: Use of undefined constant A - assumed 'A' in - on line 2
PHP Notice: Use of undefined constant L - assumed 'L' in - on line 2
ジュリアンが述べたように、範囲はこれにとって魅力的です。
$range = range('A', 'L');
// Had to subtract one from loop iteration total, otherwise the $i + 1
// would throw an undefined index notice
for ($i = 0, $count = count($range); $i < ($count - 1); $i++) {
echo sprintf('%s->%s,', $range[$i], $range[($i + 1)]);
}
範囲の詳細。