文字列は文字の配列ですが、正しいですか?もしそうなら、count()
は文字列にstrlen()
と同じ結果をもたらさないのはなぜですか?PHP - なぜcount()が文字列のstrlen()のように動作しないのですか?
答えて
文字列は、C、C++、Javaの文字の配列です。 PHPでは、そうではありません。 PHPは非常に緩やかな言語であることを覚えておいてください。あなたは[]セレクタでPHP文字列から文字を得ることができますが、まだそれを配列にしていません。
言語がそれをするとき、私はそれが嫌いです。配列の表記法を見ると、私は自動的に実際の配列で作業していると思います。 PHPマニュアルで「インデクサを持っていても配列は文字列ではありません」と明示的には言及していません。 –
文字列が配列と同じ言語はごくわずかです。おそらくC言語ではあるかもしれませんが、より高いレベルのプログラミング言語は文字列に対して特別な構造を持っています。同様に、C++では、std :: stringは配列のようにアクセスできますが、 'sizeof(std :: string)'は長さを与えません。正しい職場に適したツールを使用してください。 –
count()
は、Array
のエントリ数をカウントします。
$test = array(1,2,3);
echo count($test);
出力:3
なぜあなたはstring
strlen()
が行うことができたときにその上count()
を使いたいでしょうか?あなたの入力がstring
かarray
かわからないのですか?次に、is_array()
を使用して確認します。
はい、私は知っています。文字列が文字の配列であれば、count()はその文字列の文字数を返すべきです。 –
英語の文字列を文字列と呼びますが、PHPでは文字配列ではなく文字列です。 – Kokos
Kokosでは、PHPで文字列が通常の配列と同じように扱われない理由についての質問があります。たとえば、Haskellは文字列を文字のリストとして扱うので、Haskellのすべてのリスト関数を文字列に使うことができます。 –
count配列の要素数を取得すると、srtlenは文字列の長さを取得します。これはドキュメントである:
はい、私は知っています。私はそれがなぜそうであるか尋ねていた。 –
@ kevinmajor1もう一度読むと、これはドキュメントに記載されています。 – Raoul
私はドキュメントを読んだ。彼らは、私が望んでいたように、問題について明確ではなかった。文字列が実際に文字配列であるとすぐに思った理由について、上記の私のコメントを見てください。 –
カウントがそのカウントをstrlenを配列値の数 のためのよりpreferabalyユーザーです.....
文字列が特定のプログラミング言語によって内部的にどのように処理されているかを、必ずしも "関連する"データ型と同等に扱うことを意味するものではありません。 PHPがCではないので、同じ特徴を持っていません。
文字列は単なる一連の文字であり、count
は配列内の要素数を数えます。
$ string [$ index];を使用しています。あなたはN番目の文字を見つけるのに役立つちょっと事のそのわずかショートカット、
あなたはおそらくstrlen
が
を何ので、今日のためのレッスンが
のカウント==配列の長さ
ですcount(explode('',$string));
を使用することができます
strlen ==文字列の長さ
- 1. PHP - strlenが動作しない
- 2. strlen()はヌルターミネータの文字列countを返します。
- 3. ExpressJSで部分文字列が動作しないのはなぜですか?
- 4. PHPの文字列がintで動作しない
- 5. str_replaceが私のPHP文字列で動作しない
- 6. ヌル文字のない文字列のstrlenはどのように計算されますか?
- 7. nullで終了しない文字列のstrlen()?
- 8. 私のコードでcount ++が動作しないのはなぜですか?
- 9. 文字列の配列をソートするときにqsort()が動作しないのはなぜですか?
- 10. HTML文字列値の中のPHP変数 - なぜ動作しませんか?
- 11. PHP if文が正しく動作しないのはなぜですか?
- 12. PHPで `session_destroy()`が動作しないのはなぜですか?
- 13. 文字列からクラスをシリアル化しないPHPが動作しない
- 14. なぜPayPalがクエリ文字列のないページを返すようにリダイレクトしているのですか?
- 15. なぜ文字間隔がFx <10で動作しないのですか
- 16. Wufoo PHP APIが動作しないのはなぜですか?
- 17. PHP json_decodeが動作しないのはなぜですか
- 18. PHPは文字列に内部スマート文字列を使用しないのはなぜですか?
- 19. Guidを文字列に変換してExpandoObjectが正常に動作しないのはなぜですか?
- 20. 文字列に対して__rmod__が正しく動作しないのはなぜですか?
- 21. なぜ文が動作しないのですか
- 22. JavaScript If文が動作しないのはなぜですか?
- 23. PHP MySQLのWebサイトが大文字で動作しない
- 24. 'sizeof'を文字列に適用すると、サイズ(strlen)が返されるのはなぜですか?
- 25. なぜこのgreasemonkeyコードはUTF8文字で動作しないのですか?
- 26. エスケープ文字がPythonの\ x0のような文字列に変換されるのはなぜですか?
- 27. PriorityQueueがキューのように動作しないのはなぜですか?
- 28. Pythonコンパイラが動作しないのはなぜですか?次のように
- 29. 文字列が同じでないのはなぜですか?
- 30. 文字列が値でないのはなぜですか?
PHPはあなたが望むように常に意味があるわけではありません;-) –
@Matt Ellenそれはどんなlangでも同じです異なるタスクのために異なる機能がある理由を知りませんか? – Raoul
@Raoul:何が同じですか?異なるタイプにはそれぞれ異なる機能がありますか?確かに、しかし、いくつかの言語では、文字のリスト/配列と他のもののリスト/配列は同じように扱うことができます。 –