PHP explode()函数问题

era*_*uki 2 php

请帮我解决这个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)

jas*_*bar 6

我认为我的评论似乎是一个可能的解释.我使用"15&page"作为测试字符串试用了你的代码,它使用'&page'作为分隔符正确爆炸.

确保&实际上并未编码为&

您可以尝试print_r'ing您从explode()返回的数组,看看是否真的如此.如果是这样的话,那么当你在"&"上爆炸时,你最终会得到15,amp;页面.