在php中爆炸单个变量

时间:2014-09-26 08:26:15

标签: php explode

以下是我在php中的内容:

我需要爆炸给定的变量

$a = "hello~world";

我需要爆炸

$first = "hello";
$second = "world";

我该怎么做?

这是我到目前为止所尝试的内容。

<?php
$str = "a~b";
$a = (explode("~",$str));
$b = (explode("~",$str));
echo explode('.', 'a.b');

?>

我知道我做错了。我的错误是什么?如何解决这个问题?

4 个答案:

答案 0 :(得分:5)

如果您知道您希望返回的变量数量(例如,在这种情况下为2),您可以直接将它们分配到list

list($first, $second) = explode('~', $a);
// $first = 'hello';
// $second = 'world';

答案 1 :(得分:2)

Explode函数将返回一个包含“explosed”元素的数组

所以改变你的代码如下(如果你知道只有两个元素存在)

list($a, $b) = explode('~', $str); 
//You don't need to call explode one time for element.

否则,如果您不知道元素的数量:

$exploded_array = explode('~', $str);
foreach ($exploded_array as $element)
{
   echo $element;
}

答案 2 :(得分:0)

您的代码应触发包含调试信息的明确错误消息:

  

注意:数组转换为字符串

......在这一行:

echo explode('.', 'a.b');

...最后打印出来:

  

Array

如果您已经看过它,我想您不会忽略这些有用的信息,因此您可能还没有配置您的PHP开发框来显示错误消息。最简单的方法是,在安装PHP时,通过复制php.ini而不是php.ini-development来获取php.ini-production文件。如果您使用的是第三方版本,只需调整error_reportingdisplay_errors指令即可。

关于错误,您必须了解数组是复杂的数据结构,而不是标量值。您无法使用echo按原样打印数组。在开发阶段,您可以使用var_dump()(与任何其他变量一样)进行检查。

答案 3 :(得分:0)

explode返回一个数组。 explode会使用给定的字符(这里是)将给定的字符串分解为部分,并返回包含爆炸部分的数组。

$a = "hello~world";
$str_array = explode("~",$a);

$first = $str_array[0];
$second = $str_array[1];

echo $first." ".$second;