ホームページ >バックエンド開発 >PHPチュートリアル >文字列配列、配列要素の削除_PHP チュートリアル
文字列配列
C 言語を学習したことのある人は、C 言語が強力な文字列処理機能を備えていることを知っているかもしれません。PHP は C で書かれているため、文字列処理における C の利点を自然に継承しています。しかし、結局のところ、PHP は新しい言語であり、C 言語とは異なります。当然、C とまったく同じであるという保証はありません。したがって、一部の機能はテストを通じてのみ知ることができます。
場合によっては、文字列の各文字を処理する必要がある場合があります。一般的なアプローチは次のとおりです。
$str="something";
for($i=0; $i
$ch=substr($str, $i, 1);
//$ch の処理
}
これでもいいのですが、もっとエレガントな方法はありますか?はい、C 言語がそれを処理する方法である配列として扱うだけです。
文字列配列を使用するように上記の例を変更します:
$str="something";
for($i=0; $i
$ch=$str [$i];
//Processing $ch
}
これはかなり良くないですか?
配列要素を削除する
配列を定義していて、場合によってはそのいくつかを削除したい場合はどうすればよいでしょうか? www.phpbuilder.com で unset() 関数を使用するという答えを見ました。テストをしてみましょう。
$a[]="a1";
$a[]="a3";
for($i
";
unset($a[0]);
for($i
"
どういう意味ですか?まず 3 つの要素を持つ配列 $a を生成して表示し、次に最初の要素 (添え字 0) を削除して表示します。結果として、配列には 2 つの要素が残るはずです。しかし、それは間違いです!答えが思っていたものと違うのは、unset()が使いにくいからでしょうか?よく考えると、unset($a[0]) は最初の要素を削除しますが、出力するときは依然として $i=0 から開始します。これは、もちろん PHP が添え字を自動的に調整しません。したがって、これに対処するには他の方法を使用する必要があります。
" echo $a[$i] . "$a[]="a1"; for($ i=0; $i
unset($a[0]); a); //最初の要素への配列ポインタを返します
while(list($c, $d)=each($a))
{
echo $d . "
";
配列の添字を考慮せずに配列を表示する一般的な方法です。
注: sizeof() は、count() と同じように、配列の数を返すために使用されます。
http://www.bkjia.com/PHPjc/532101.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/532101.html
技術記事