我有一个字符串,我想使用字符'§'将它们转换为数组:
<?php
$string="element1§element2§element3";
$array=explode("§",$string); //tried also § and §,double and single quotes
print_r($array);
?>
输出始终如下:
Array ( [0] =>element1§element2§element3)
如何让php识别'§'符号以便将字符串拆分成数组?
编辑: 我使用file()函数从文件中获取字符串,并通过foreach迭代数组。如果我使用我自己的例子它可以工作,但是exernal文件没有。
我的字符串的rowurlencode()如下:
element1%A7element2%A7element3
答案 0 :(得分:2)
完美适合我
ini_set('default.charset', 'UTF-8');
header('Content-type: text/html;charset=UTF8');
$string="element1§element2§element3";
$array=explode("§",$string);
print_r($array); //Array ( [0] => element1 [1] => element2 [2] => element3 )
答案 1 :(得分:1)
rawurlencode您的字符串,以查看此字符的实际代码。
然后将此代码用作分隔符
$array=explode("\xA7",$string);
答案 2 :(得分:0)
如果您真的使用过:
<?php
$string="element1§element2§element3";
$array=explode("§",$string);
print_r($array);
?>
这会奏效。我的猜测是,在您的情况下,$string
来自不同的来源,并且与您的PHP文件的字符编码不同。
答案 3 :(得分:0)
感谢你的常识,我找到了答案。 简单地说,我改变了我的explode()函数:
$array=explode("%A7",rawurlencode($string));
其中“%A7”是“§”的rawurlencode。