[英]PHP equivalent for Java's toCharArray()
在Java中,我使用toCharArray()將字符串轉換為chars數組,如下所示:
String s1= "\nX\\nT_$\u0061\"\'";
char[] c1 = s1.toCharArray();
System.out.println((Arrays.toString(c1) ));
結果將是:
[
, X, \, n, T, _, $, a, ", ']
如果您注意到第一個項目是換行,而第二個\\ n不被視為換行,因為雙反斜杠被視為一個新行。
此外,它還會處理\\ u0061之類的unicode表示形式
PHP是否有任何等效功能?
使用str_split()
:這將返回一個字符數組。
例:
$s1 = "\nX\\nT_$\u0061\"\'";
$char_arr = str_split($s1);
print_r($char_arr);
在php中,您可以簡單地使用類似於數組的字符串:
<php
$string ="abc";
echo $string[0];
它不是數組,但是您可以使用數組訪問。 所以沒有理由使用toCharArray
好吧,經過一番研究,我偶然發現了這一點。
第一: 此鏈接告訴我們:
字符串是一系列字符,其中一個字符與一個字節相同。 這意味着PHP僅支持256個字符的集合,因此不提供本機Unicode支持。 查看字符串類型的詳細信息。
我們在詳細信息部分了解到:
鑒於PHP並未規定字符串的特定編碼,因此人們可能會想知道字符串文字是如何編碼的。 例如,字符串“á”等效於“ \\ xE1”(ISO-8859-1),“ \\ xC3 \\ xA1”(UTF-8,C形式),“ \\ x61 \\ xCC \\ x81”(UTF-8 ,D形式)或其他任何可能的表示形式? 答案是,字符串將以腳本文件中編碼的任何方式進行編碼。
哎喲。
此外,在本節的前面,我們還了解到:
字符串可以組成的值沒有限制
最終的含義是,沒有Java的.toCharArray()
嚴格等同。 節省用於在UTF-16(!)中編寫PHP腳本的操作,但是即使那樣,分割字符串仍將返回字節。
似乎最想要的是使用mb_convert_encoding
更改為UTF-16,然后使用mb_split
。
使用str_split()
這是php.net示例代碼
<?php
$str = "Hello Friend";
$arr1 = str_split($str);
$arr2 = str_split($str, 3);
print_r($arr1);
print_r($arr2);
?>
輸出
Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
[5] =>
[6] => F
[7] => r
[8] => i
[9] => e
[10] => n
[11] => d
)
Array
(
[0] => Hel
[1] => lo
[2] => Fri
[3] => end
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.