beh*_*z4d 2 php arrays foreach utf-8
我看到一些奇怪的东西!
看,这是我的数组:
$array = array('???? ????', '?????', '?????? ??? ?????', '?????? ?????');
print_r($array):
Array
(
[0] => ???? ????
[1] => ?????
[2] => ?????? ??? ?????
[3] => ?????? ?????
)
Run Code Online (Sandbox Code Playgroud)
上面数组的值包含utf-8字符,现在是foreach:
$test = '';
foreach($array as $key => $value){
$test.= " ('1', '$value'), ";
}
Run Code Online (Sandbox Code Playgroud)
输出是:
('1', '???? ????'), ('1', '?????'), ('1', '?????? ??? ?????'), ('1', '?????? ?????'),
Run Code Online (Sandbox Code Playgroud)
如你所见,这一切都错了......
为什么会发生这种情况以及如何解决这个问题?
提前致谢
PS:使用一些utf-8解码功能不起作用.
字符串的开头被解释为从左到右,其余的从右到左.您可以通过将整个文档设置为从右到左来解决故障:
<html dir="rtl">
Run Code Online (Sandbox Code Playgroud)
如果您希望文档主要从左到右显示,则必须在每个阿拉伯字符串后添加一些控制字符以强制更改为LTR,因为数字和标点符号不够"强".如果您的输出包含LTR字母(如A),它也将按预期呈现; 测试这些:
foreach($array as $key => $value){
$test.= " ('1', '$value‎'), ";
}
foreach($array as $key => $value){
$test.= " ('A', '$value'), ";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
351 次 |
| 最近记录: |