Php 筛选器数组或字符串(删除某些单词)

Php 筛选器数组或字符串(删除某些单词),php,Php,我的问题不是很复杂,但我还找不到解决办法。我有一个字符串: $temp_string = '20938999038,0.5,83888999289,0.5,98883888778,0.9'; // Meaning syskey, price, syskey, price, syskey, price 我想删除price并只显示syskey 我想要的结果是: '20938999038,83888999289,98883888778' 提前谢谢。您可以用分隔符分解它 $explode = e

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

$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(",", $temp_string);
unset($explode[1], $explode[3], $explode[5]);

假设您的字符串始终遵循此模式。

您可以通过分隔符将其分解

$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
您可以尝试:

$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

为什么不使用数组而伤害自己?请使用
explode()
并使用数组。您需要将字符串括在引号中,否则它不是字符串。还可以查看和,它们应该为您指出正确的方向。$parts=explode(“,”,$temp_string);谢谢您的快速回答,只要我得到了想要的结果。欢迎使用所有解决方案。为什么您会伤害自己而不使用数组?请使用
explode()
并使用数组。您需要将字符串括在引号中,否则它就不是字符串。还可以查看和,它们应该为您指出正确的方向。$parts=explode(“,”,$temp_string);感谢您的快速回答,只要我得到了所需的结果。欢迎使用所有解决方案。谢谢。如果输入的时间更长或更短呢?如果它遵循相同的模式,您可以继续添加到
unset
命令。如果是每隔一次,最好的解决方案可能是按照@Baba的建议执行,并根据
mod
在循环中选择要存储的值。谢谢。如果输入更长或更短,该怎么办?如果它遵循相同的模式,您可以继续添加到
unset
命令。如果是每隔一次,那么最好的解决方案可能是按照@Baba的建议执行,并根据
mod
在循环中选择要存储的值。