PHP数组。将表中的每一行数据更改为字符串,然后传递给数组

时间:2011-12-06 00:19:53

标签: php arrays

我正在尝试使用循环来从表中提取所有行,并将每行更改为字符串然后传递给数组。这是我目前正在处理的脚本。

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);
    }
}    

现在它只返回一个字符串而不传递给数组。一直在寻找,似乎找不到任何地方或任何人可以用简单的英语向我解释这一点。

希望你能提供帮助。感谢

2 个答案:

答案 0 :(得分:1)

我不知道你的例子中的变量是什么,但是如果你想循环一个数组并改变它的内容,我就是这样做的:

$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?!'

答案 1 :(得分:0)

我认为您会将代码更改为以下内容:

$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;