PHP从数组内的字符串元素中删除括号

时间:2014-05-07 21:54:09

标签: php arrays trim

我正在使用in_array()函数和trim()来检测数组中包含括号()的字符串。虽然我目前的程序正在运行并满足我的需求,但我希望将其提升到新的水平并使其更具通用性。目前我通过"stack[2]"指定数组位置。

$stack = array( "test-1" , "test-2" , "(test-3)" );

print_r($stack);

if ( in_array( "".$stack[2]."" , $stack , TRUE ) ) {
  $stack[2] = trim($stack[2], '()');
}

print_r($stack);

在修剪过程之前:

Array
(
    [0] => test-1
    [1] => test-2
    [2] => (test-3)
)

修剪过程后:

Array
(
    [0] => test-1
    [1] => test-2
    [2] => test-3
)

我希望我的程序搜索数组中的每个值,删除()并将其保存在同一位置。下面提供了测试数组的示例:

$stack = array( "test-1" , "test-2" , "(test-3)" , "test-4" , "(test-5)" );

我确信有办法,但我无法弄明白该怎么做。

感谢您的时间和精力。

3 个答案:

答案 0 :(得分:0)

使用for循环和sizeof数组:

$stack = array( "test-1" , "test-2" , "(test-3)" , "test-4" , "(test-5)" );

print_r($stack);

for ($i = 0; $i < sizeof($stack); $i++){
   $stack[$i] = trim($stack[$i], '()');
}

print_r($stack);

答案 1 :(得分:0)

最后非常简单,我使用foreach()并将元素推送到新数组。如此简单,结果如预期。下面提供了代码和输出的示例:

$stack = array( "test-1" , "test-2" , "(test-3)" , "test-4" , "(test-5)" );

print_r($stack);

在循环之前输出print_r()

Array
(
    [0] => test-1
    [1] => test-2
    [2] => (test-3)
    [3] => test-4
    [4] => (test-5)
)

$array = array();

foreach ($stack as $string) {
  $string = trim($string, '()');
  array_push($array, "".$string."");
}

print_r($array);

流程后print_r()的输出:

Array
(
    [0] => test-1
    [1] => test-2
    [2] => test-3
    [3] => test-4
    [4] => test-5
)

很抱歉这么简单的问题/答案。

答案 2 :(得分:0)

$stack = array( "test-1" , "test-2" , "(test-3)" , "test-4" , "(test-5)" );

for(i=0; i < count($stack); i++) {
  $stack[$i] = trim($stack[$i], '()');
}

我建议去阅读有关PHP编程的一些教程。这是一个非常基本的想法。