首頁 >後端開發 >php教程 >php foreach中赋值 循环完成后 这个在数组内新赋值的变量就消失了么?

php foreach中赋值 循环完成后 这个在数组内新赋值的变量就消失了么?

WBOY
WBOY原創
2016-06-06 20:25:161427瀏覽

代码

<code class="php">if(count($res) > 0){
    foreach( $res as $value){
        $timestamp = strtotime($str_replace('/','-',$value['time']));
        $data[] = [ $timestamp , $value['cumulativeNet']];
    }
}</code>

循环结束后打印 $data 显示 Undefined variable: data

求问如何在能使用这个 $data ?

回复内容:

代码

<code class="php">if(count($res) > 0){
    foreach( $res as $value){
        $timestamp = strtotime($str_replace('/','-',$value['time']));
        $data[] = [ $timestamp , $value['cumulativeNet']];
    }
}</code>

循环结束后打印 $data 显示 Undefined variable: data

求问如何在能使用这个 $data ?

注意看提示:未定义的变量$data

你的$res有值吗?

直接用 $data[] 这种方式是不严禁的,使用前应该先定义空数组:

<code class="php">if(count($res) > 0){
    $data = array();
    foreach( $res as $value){
        $timestamp = strtotime($str_replace('/','-',$value['time']));
        $data[] = [ $timestamp , $value['cumulativeNet']];
    }
}</code>

你的 $res 不是数组,应该是个字符串。
var_dump($res) 试试

循环前得先定义变量,而不是放在循环里面

$timestamp = strtotime($str_replace('/','-',$value['time'])); 里的$str_replace???
写错了吧?

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn