2014-05-08 115 views
0

的元素我有两个变量,我想从另一个变量删除PHP变量

等清除一个变量:

$var1 = '4'; 
$var2 = '5,7,4,9'; 

if ($var1 Inside $var2) 
{ 
// remove 4 
} 

//输出

$var2 = '5,7,9'; 

谢谢...

+2

为$ VAR2一个字符串或数组? – Daan

+0

[你有什么尝试?](http://mattgemmell.com/2008/12/08/what-have-you-tried/)请参阅[关于堆栈溢出](http://stackoverflow.com/about)。 –

+0

将字符串转换为数组然后看看它是否在 – gbestard

回答

5

由于它是一个字符串,我认为最简单的方法是首先将其转换为数组,然后将其删除并将其放回再次合起来:

$values = explode(',', $var2); 

if (($key = array_search($var1, $values)) !== false) { 
    unset($values[$key]); 
} 

$var2 = implode(',', $values); 

this answer感谢复制有关从数组中删除的部分。

+0

它工作良好,thnx兄弟 –

1

您可以使用一个简单的str_replace它使用正则表达式:

<?php 
    $var2 = str_replace("%$var1%", "", $var2); //remove the element if it is inside 
    $var2 = str_replace("%,,%", ",", $var2); //Remove the ',' if it's needed 
?> 
+0

thnx,也许我们的代码是好的,但我发现了另一个最佳解决方案 –