我使用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)" );
我肯定有办法,但我想不出怎么做。
谢谢你的时间和努力。
发布于 2014-05-07 22:12:38
使用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);
发布于 2014-05-07 22:13:23
最后非常简单,我使用了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
)
很抱歉这么简单的问题/回答。
发布于 2014-05-07 22:14:00
$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编程的教程。这是一个相当基本的想法。
https://stackoverflow.com/questions/23529185
复制相似问题