2016-03-08 88 views
1

我是PHP新手我正在尝试获取foreach循环结果。 回路我有PHP从foreach循环获取结果

foreach($results as $result){ 
    $result = $result['names']; 
} 

在循环中是strings (John, Fred, Ann);

我试图让这个外部的循环,当我尝试echo $结果我只有约翰,我该怎么做才能得到所有三个名字?

我试图创建一个像

$resultData= array(); 
foreach($results as $result){ 
    $resultData = $result['names']; 
} 
echo $resultData; 

这不起作用的数组,没有任何人有什么建议?

更新问题: 当我尝试var_dump($resultData)我越来越

string(7) "John" string(7)"Fred" string(7)"Ann" 
+0

你试过'array_push()'? –

+0

你应该参考这个主题的更多手册,这只是简单的数组使用 – Ghost

+0

你可以尝试爆炸在每个循环? –

回答

1

这里太一个例子:

$employeeAges; 
$employeeAges["Lisa"] = "28"; 
$employeeAges["Martin"] = "16"; 
$employeeAges["Erik"] = "35"; 
$employeeAges["Victor"] = "46"; 
$employeeAges["Grace"] = "34"; 

foreach($employeeAges as $key => $value){ 
    echo "Name: $key, Age: $value <br />"; 
} 

输出
名称:丽莎,年龄:28
名称:马丁,年龄:16
名称:埃里克年龄:35
名称:维克多,年龄:46
名称:恩,年龄:34

,你可以像这样做太:

的foreach语法:** $东西作为$键 =>$值
对于$ employeeAges关联数组我想指的是密钥作为$键的每个元素和值作为$ value

$employeeAges; 
$employeeAges["Lisa"] = "28"; 
$employeeAges["Martin"] = "16"; 
$employeeAges["Erik"] = "35"; 
$employeeAges["Victor"] = "46"; 
$employeeAges["Grace"] = "34"; 

foreach($employeeAges as $name => $age){ 
    echo "Name: $name, Age: $age <br />"; 
} 

运算符“=>”表示键和值之间的关系。你可以想象,关键点=>值。在我们的示例中,我们将密钥$ key和值$ value。但是,可能更容易想到它为$ name$ age。在我们的例子下面这样做,并注意输出是如何相同的,因为我们只改变了引用键和值的变量名称。

你仍然得到相同的输出。

输出
名称:莉莎,年龄:28
名称:马丁,年龄:16
名称:埃里克,年龄:35
名称:维克多,年龄:46
名称:格雷斯,年龄:34

+0

谢谢,这非常有帮助。 – user999

+0

让我知道如果您有任何问题我可以帮你=) 关心 –

0

事情是这样的:

foreach($results as $result){ 
$resultData[] = $result['your_value']; 
} 
print_r($resultData); 
echo $resultData[0]; 
+0

你能否通过var_dump($ results)获得更新数组的问题? – Drudge

+0

是的你是对的,我想要得到这个print_r的结果。我试过$ results = print_r($ resultData,true);但是这不会返回任何结果,得到这个结果的最好方法是什么?非常感谢您的帮助 – user999

+0

@ user2983797试试这个'var_dump($ results)' –

0

下面是正确的代码。您还没有宣布我正确

$resultData= array(); 
$i = 0; 
foreach($results as $result){ 
     $resultData[$i] = $result['names']; 
     $i++ 
} 
//for single 
echo $resultData[0]; 

//for whole 
print_r($resultData); 
+0

这里有什么错? –

+0

只是问,为什么你需要声明'$ i',如果你使用foreach呢? – GaLaBoOnZ

+0

@GaLaBoOnZ,其实我把答案和问题联系起来。他使用变量'我',为什么我告诉他使用$ i的正确格式。没有其他的。有很多其他方式可用,但用户应该明白,他做了什么错误。 –

0

试图使用爆炸在foreach循环

foreach($results as $result) 
{ 
     $result = explode(",",$result['names']); 
} 
print_r($result); 

如果您在$ result中有一个名称,然后用破灭吧“”和爆炸出来侧

 foreach($results as $result) 
    { 
      $val = implode(",",$result['names']); 
    } 
    $value = explode(","$val); 
    print_r($value[0]); 
+0

如果您在$ result中有signle名称,那么使用它的implode并将它爆炸出去 –

0

尝试使用此代码

$resultData= array();` 
foreach($results as $key => $result){ 
     $resultData[$key] = $result['names']; 
} 
    echo "<pre>", print_r($resultData, true); 
0

是的,我得到它的工作,这是代码。谢谢大家。

 $results;   
     $results[0]; 
     $results[1]; 
     $results[2]; 
     $t = array(); 
     foreach($results as $key => $value) 
     {   
      $t[]= $value['name']; 
     } 
     $a = "'".implode("','", $t)."'"; 
     echo $a;