我使用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)" );
我确信有办法,但我不知道怎么做。
感谢您的时间和努力。
使用for循环和数组大小:
$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);
最后非常简单,我使用了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
)
很抱歉有这么简单的问题/答案。
$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编程教程。这是一个非常基本的想法。