我正在使用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)" );
我确信有办法,但我无法弄明白该怎么做。
感谢您的时间和精力。
答案 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编程的一些教程。这是一个非常基本的想法。