请帮我解决这个explode()函数问题.第三种情况我得到意想不到的结果,解释是什么?
编辑: $ page_string值实际上来自数据库.这次我使用var_dump而不是echo进行了测试.字符串,php如何计算它们?"15&page"如何算11?
var_dump($page_string);//string(11) "15&page"
Run Code Online (Sandbox Code Playgroud)
1.弹出符号...罚款.
$page_id_array = explode("&",$page_string);
$page_id = $page_id_array[0];
var_dump($page_id);
// string(2) "15"
Run Code Online (Sandbox Code Playgroud)
2.弹出数...罚款
$page_id_array = explode("15",$page_string);
$page_id = $page_id_array[1];
var_dump($page_id);
//string(9) "&blog"
Run Code Online (Sandbox Code Playgroud)
3.弹出'和页面'...为什么?
$page_id_array = explode("&page",$page_string);
$page_id = $page_id_array[0];
var_dump($page_id);
//string(11) "15&page"
var_dump($page_id_array[1]);
//NULL
Run Code Online (Sandbox Code Playgroud)
编辑:经过jasonbar的回答和评论,我做了测试,证实了他的答案:
$page_id_array = explode("&page",$page_string);
$page_id = $page_id_array[0];
var_dump($page_id);
//string(2) "15"
Run Code Online (Sandbox Code Playgroud)
我认为我的评论似乎是一个可能的解释.我使用"15&page"作为测试字符串试用了你的代码,它使用'&page'作为分隔符正确爆炸.
确保&实际上并未编码为&
您可以尝试print_r'ing您从explode()返回的数组,看看是否真的如此.如果是这样的话,那么当你在"&"上爆炸时,你最终会得到15,amp;页面.
| 归档时间: |
|
| 查看次数: |
2013 次 |
| 最近记录: |