如何从foreach循环输出中分配PHP变量?

时间:2014-04-10 21:08:17

标签: php arrays variables loops foreach

我有一个foreach循环,它打印出数据库表中所有条目的用户名,如下所示:

foreach($results as $result){

echo $result->username;
echo '<br>';

}

随着越来越多的用户被添加到表中,列表将会增长。我想获取完整列表并将每个条目分配给单独的PHP变量,以便稍后在PHP脚本上使用。这样做的最佳方式是什么?

6 个答案:

答案 0 :(得分:1)

您不需要单个变量,请尝试使用数组:

foreach($results as $result){
    $names[] = $result->username;
}

答案 1 :(得分:0)

将它们放在一个数组中:

$names = array();
foreach ($results as $result) {
    $names[] = $result->username;
}

答案 2 :(得分:0)

根据您的评论I am trying to apply each username as a javascript variable,您所需要的只是:

<script type="text/javascript">
  var usernames = <?php echo json_encode($results); ?>;
</script>

当然,如果您只需要$results数组中的一个元素,则应首先使用其中一个答案生成简化列表;如果您使用整个$results数组,那么其中的所有信息都将发送到浏览器/对访问者可见。

答案 3 :(得分:0)

foreach循环太过时了:p

$names = array_map(function($r) {return $r->username;},$results);

答案 4 :(得分:0)

我不知道你为什么要...... 但你可以做......

foreach($results as $result)
{
    $$result->username = $result;
 }

这回答了你的问题。但为什么有人会这样做是超出我的

答案 5 :(得分:-1)

我使用下面的代码

<?php

$string = 'a|b|c|d|e|f';

$tags = explode('|' , $string);


foreach($tags as $i =>$key) {
$i >0;
     $a[$i]=$key .'</br>';

}

echo $a[3];
祝你好运