过滤数组或字符串(删除一些单词)


Filter array or string(removing some words)

我的问题不是很复杂,但我还找不到解决办法。我有一个字符串:

$temp_string = '20938999038,0.5,83888999289,0.5,98883888778,0.9';
// Meaning syskey, price, syskey, price, syskey, price

我想删除price,只显示syskey。

我想要的结果:

 '20938999038,83888999289,98883888778'

您可以通过分隔符

进行explode
$explode = explode(",", $temp_string);
unset($explode[1], $explode[3], $explode[5]);

假设你的字符串总是遵循这个模式

您可以尝试:

$string = "20938999038,0.5,83888999289,0.5,98883888778,0.9";
$new = array();
foreach(explode(",", $string) as $k => $v) {
    $k % 2 or $new[] = $v;
}
echo implode(",", $new); // 20938999038,83888999289,98883888778