在PHP中推送值时自动增加空数组

时间:2015-05-20 08:47:52

标签: php arrays

我在一个变换为数组字符串的变量中有一个文本:

$text = 'Today is Monday';
$textTab = explode(" ",$text);

我有一个空数组,声明为:

$tab[] = array();
$value = '';

我的条件和说明很少:

foreach($textTab as $iter){
    if($iter == //something){
        array_push($tab,$value);
        $value = '';
    }else{
        $value = $iter;
    }
}

当我尝试var_dump选项卡时,在for循环之后,$ tab只有一个条目。

有人可以解释我的错误吗?

2 个答案:

答案 0 :(得分:1)

$tab[] = "asd"

正在推送数组的条目,你想要的是

$tab = array()

答案 1 :(得分:1)

根据您的评论,如果您希望输出array(2) { [0]=> "Je suis Hugo " [1]=> " j'ai 19 ans" }来自字符串" Je suis Hugo et j' ai 19 ans"你可以在' et'

中轻松爆炸
$string = "Je suis Hugo et j'ai 19 ans";
$output = explode('et', $string);
var_dump($output);

要使其动态尝试

$splits = ['et', 'je'];
$string = "Je suis Hugo et j'ai 19 ans";
$string = strtolower($string);
$output = [];

foreach($splits as $split) {
    $outputTmp = explode($split , $string);
    $output[] = array_values(array_filter($outputTmp));

}
var_dump($output);