jjzjj

php - "Empty delimiter"使用PHP explode()函数时出现警告

在javascript中,varmyStringToArray=myString.split('');是完全可以接受的。但是在PHP中,$My_String_To_Array=explode('',$My_String);会抛出一个错误:Warning:explode()EmptydelimiterPHP手册(http://php.net/manual/en/function.explode.php)解释:Ifdelimiterisanemptystring(""),explode()willreturnFALSE.那么我应该在现代PHP中使用什么来代替explode('',$My_S

PHP explode array 然后遍历值并输出到变量

我要拆分的字符串是$item['category_names'],例如包含Hair,Fashion,News我目前有以下代码:$cats=explode(",",$item['category_names']);foreach($catsas$cat){$categories="".$cat."\n";}我希望$categories的结果如下所示,这样我可以稍后在某个地方回显它。Hair\nFashion\nNews\n不确定我的做法是否正确? 最佳答案 在您的代码中,您将在每次迭代中覆盖$categories变量。正确的代码如下所

php - explode 是否在 foreach 中执行了不止一次?

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭11年前。$array='hellohello2';foreach(explode('',$array)as$v)echo$v;explode执行了多少次?使用另一个变量是否更好:$exploded=explode(...);foreach($explodedas$v)...?

PHP 在空字符上 explode

我正试图在看起来像空字符的地方分解一个字符串。这就是我正在使用的:$exp=explode('\x00',$bin);。虽然这行不通。但是,如果我执行$exp=explode($bin[5],$bin);($bin的第5个字符是我要在其上展开的字符)它工作正常。如果我执行var_dump($bin[5])它会显示带有问号(�)的方block,并且在View源中我得到:�谁能告诉我在这个角色上爆发的最佳方式是什么?或者即使它是空字符(根据ascii表它是空字符,除非我读错了)。谢谢 最佳答案 试试双引号:$exp=explode

php - 为什么 explode on null 返回 1 个元素?

var_dump(count(explode(',',[])));//0var_dump(count(explode(',','')));//1var_dump(count(explode(',',null)));//1????我原以为最后一个是0。有人能告诉我从null爆炸是1而不是0的原因吗?(PHP5.6.16) 最佳答案 explode接受一个字符串作为它的第二个参数,byspecification.您给了它一个null,所以在explode逻辑运行之前,PHP将null转换为一个字符串。每个函数都以这种方式运行:如果参数与

php - PHP explode() 模式有什么用?

假设我有以下字符串:$str="Hello,mynameisBobandIlike'pizza'.Doyoulikepizza??"目前我可以使用以下方法在空白处拆分/分解此字符串:$arr=explode('',$str);但我想像这样使用正则表达式模式\W:$arr=explode('\W',$str);这应该分隔所有不是标点符号的词,允许'pizza'部分被分隔为pizza。除了它什么都不返回(我得到一个空数组)。我能做什么? 最佳答案 使用preg_split:http://www.php.net/manual/en/fun

PHP:在除最后一个元素之外的每个元素后显示逗号。使用 'for' 语句而不使用 'implode/explode'

我有这个简单的for循环来回显一个数组:for($i=0;$i'.$director[$i]["name"].'';}这里的问题是,当数组中有多个元素时,我会得到所有内容的回显,中间没有任何空格。除了最后一个,我想用逗号分隔每个元素。我不能使用implode所以我正在寻找另一个解决方案 最佳答案 这应该有效。我认为最好调用count()一次,而不是在每次循环迭代时调用。$count=count($director);for($i=0;$i'.$director[$i]["name"].'';if($i

PHP list+explode VS substr+strpos - 哪个更有效率?

示例文本:$text='Administration\Controller\UserController::Save';任务-在::之前提取所有内容选项1:list($module)=explode('::',$text);选项2:$module=substr($text,0,strpos($text,'::');哪个选项更有效? 最佳答案 我进行了测试,似乎第一个解决方案更快。这是测试它的代码:functionmicrotime_float(){list($usec,$sec)=explode("",microtime());re

PHP:explode() 中 undefined offset

我有这个:list($firstname,$lastname)=explode('',$queryString);Sometiems$lastnamedoesnotgetsdefined,andit'sthereIgettingundefinedoffseterror.我猜是因为它找不到任何可以放入$lastname的东西。在explode()之后我有:if(!$lastname){$lastname=$firstname;}所以我的问题是,如果未定义$lastname,我如何将其定义为$firstname(如果您只写了“Adam”而不是“AdamThompson”,则应定义姓氏,因此

PHP 不区分大小写的 explode()

我有以下代码:explode("delimiter",$snippet);但我希望我的定界符不区分大小写。 最佳答案 只需使用preg_split()并通过flagi对于不区分大小写:$keywords=preg_split("/yourdelimiter/i",$text);还要确保您传递给preg_split()的定界符不包含任何特殊的正则表达式字符。否则请确保正确转义它们或使用preg_quote(). 关于PHP不区分大小写的explode(),我们在StackOverflow上