我试图使用循环从表中拉出所有行,并将每一行更改为字符串,然后传递给数组。这是我目前正在编写的脚本。
PHP:function toggleLayers(){
$toggleArray = array($toggle);
for($i=0;$i<$group_layer_row;$i++){
$toggle=mb_convert_encoding(mssql_result ($rs_group_layer, $i, 0),"UTF-8","SJIS")."_".mb_convert_encoding(mssql_result ($rs_group_layer, $i, 1),"UTF-8","SJIS");
return $toggleArray($toggle);
}
}
现在它只返回一个字符串而不传递给数组。一直在寻找,似乎找不到任何地方或任何人可以用简单的英语向我解释这个问题。
希望你能帮忙。由于
我不知道在你的例子中变量是什么,但是如果你想循环通过一个数组并改变它的内容,下面是我怎么做的:
$myArray = array( 'thing', 'thing2' );
// the ampersand will pass by reference, i.e.
// the _Actual_ element in the array
foreach( $myArray as &$thing ){
$thing .= " - wat?!";
}
print_r( $myArray );
会给你
[0] =>
'thing - wat?!'
[1] =>
'thing2 - wat?!'
我想你应该把你的代码改成这样:
$toggleArray = array();
for ($i = 0; $i < $group_layer_row; $i++) {
// push your string onto the array
$toggleArray[] = mb_convert_encoding(mssql_result($rs_group_layer, $i, 0), "UTF-8", "SJIS") . "_" . mb_convert_encoding(mssql_result ($rs_group_layer, $i, 1), "UTF-8", "SJIS");
}
return $toggleArray;