Php 将内部生成的值存储在数组中
我想将if语句中生成的use\u id\u one的所有值存储在一个数组中。你知道怎么做吗Php 将内部生成的值存储在数组中,php,Php,我想将if语句中生成的use\u id\u one的所有值存储在一个数组中。你知道怎么做吗 $query = mysql_query(" SELECT `user_id` FROM users WHERE (surname LIKE '$name%' AND name LIKE '$surname%') OR (surname LIKE '$surname%' AND name LIKE '$name%') "); while($run = mysql_fetch_array($query))
$query = mysql_query(" SELECT `user_id` FROM users WHERE (surname LIKE '$name%' AND name LIKE '$surname%') OR (surname LIKE '$surname%' AND name LIKE '$name%') ");
while($run = mysql_fetch_array($query)){
$user_id_one = $run['user_id'];
$check_friend_query = mysql_query(" SELECT friends_id from friends WHERE (user_one='$session_user_id' AND user_two ='$user_id_one') OR (user_one='$user_id_one' AND user_two='$session_user_id') ");
if( mysql_num_rows($check_friend_query) == 1 ){
echo"$user_id_one";
//the above echo prints me all user_id_one values I want
//how to store all these values of user_id_one in an array
}
}
接下来如何输出它们,以确保存储的正确性(用于测试)替换此行:
echo"$user_id_one";
用这条线
$array[] = $user_id_one; //this will store the $user_id_one value in the array
将以下修改添加到代码中,以将值添加到数组中
$usersIdArray = array();
$index = 0;
while($run = mysql_fetch_array($query)){
$user_id_one = $run['user_id'];
$check_friend_query = mysql_query(" SELECT friends_id from friends WHERE (user_one='$session_user_id' AND user_two ='$user_id_one') OR (user_one='$user_id_one' AND user_two='$session_user_id') ");
if( mysql_num_rows($check_friend_query) == 1 ){
$userIdArray[$index++] = $user_id_one;
}
}
foreach($userIdArray as $userId) {
echo $userId;
}
创建数组并用这些值填充它。。。我看不出有什么问题$arr[]=$user\u id\u one将一个接一个地将值附加到数组。知道怎么做吗,因为我尝试过的方法不起作用,我相信更好的语法应该是
$userIdArray[]=$user\u id\u one代码>,因为它减少了一个额外变量的开销,同时实现了相同的效果。