PHP多维数组到变量

PHP多维数组到变量,php,arrays,multidimensional-array,mysqli,Php,Arrays,Multidimensional Array,Mysqli,好的,我正在从poloniex API获取信息 它以数组的形式返回,如下所示: Array ( [0] => Array ( [id] => 357988064 [currency] => DOGE [rate] => 0.00008000 [amount] => 3134.03982846 [duration] => 0.25540000 [interest] => 0.06403308 [fee] => -0.00960496 [earned]

好的,我正在从poloniex API获取信息

它以数组的形式返回,如下所示:

Array ( [0] => Array ( [id] => 357988064 [currency] => DOGE [rate] => 0.00008000 [amount] => 3134.03982846 [duration] => 0.25540000 [interest] => 0.06403308 [fee] => -0.00960496 [earned] => 0.05442812 [open] => 2017-05-30 23:12:09 [close] => 2017-05-31 05:19:55 ) [1] => Array ... and so on
现在,我试图将数组的每个元素都放入某种变量中,以便以后使用

比如说:

$id=[id] 
$currency=[currency]
$rate=[rate]
$amount=[amount]
$duration=[duration]
$interest=interest]
$fee=fee]
$earned=[earned]
$open=[open]
$close=[close]
foreach($return as $x=>$x_value)
{
foreach($x_value as $key=>$value){

    echo @$key.":".$return[$x][$key]."<br>";

    //  loop the insert query only columnname and values here
}
//or
extract($x_value);
//echo $id.':'.$currency......;
echo "insert into table_name set id='".$id."', currency='".$currency."',
      rate='".$rate."', amount='".$amount."', duration='".$duration."',
     interest='".$interest."', fee='".$fee."', earned='".$earned."'";
}
我想把它们放到mysqli数据库中

这就是我现在正在使用的:

if (!$return) {
    echo "No Data";
    print_r($return);
} else {
    $arrlength=count($return);
    echo "this many results: " .$arrlength. "<br><br>";
    foreach($return as $x=>$x_value)
      {

        echo $return[0][0]. ": Currency: " .$return[0][1]. ". Rate: " .$return[0][2]. " Duration: " .$return[0][3]. " Interest: " .$return[0][4]. " Fee: " .$return[0][5]. " Earned: " .$return[0][6]. " Opened: " .$return[0][7]. " Closed: " .$return[0][8]. "<br>";

        //  insert into Database here
      }

    // print_r($return);
}
我是一个数组新手,但是我已经成功地使用了Json的api,这是第一个使用数组的api

几天来我一直在修补这个,我就是找不到合适的组合

编辑: 对于任何可以使用此信息的人,我在下面列出了答案,并将其显示在一行中,我是这样做的

if (!$return) {
    echo "No Data";
    //print_r($return);
} else {
    $arrlength=count($return);
    echo "this many results: " .$arrlength. "<br><br>";

foreach($return as $x=>$x_value){
    extract($x_value);
    echo $id."   " .$currency."   " .$rate."   " .$duration."   " .$interest."   " .$fee."   " .$earned."   " .strtotime($open)."   " .strtotime($close)."<br>";
    //  insert into Database here
    }
    // print_r($return);
}
if(!$return){
回声“无数据”;
//打印(返回);
}否则{
$arrlength=计数($return);
回显“这么多结果:.$arrlength。”

”; foreach($x=>$x_值){ 提取(x_值); echo$id.“.$currency.”“$rate.”“$duration.”“$interest.”“$fee.”“$wind.”“.strotime($open.”“.strotime($close.”“
”; //在此处插入数据库 } //打印(返回); }
使用
提取
将数组键转换为变量


使用
Extract
将数组键转换为变量

像这样做:

$id=[id] 
$currency=[currency]
$rate=[rate]
$amount=[amount]
$duration=[duration]
$interest=interest]
$fee=fee]
$earned=[earned]
$open=[open]
$close=[close]
foreach($return as $x=>$x_value)
{
foreach($x_value as $key=>$value){

    echo @$key.":".$return[$x][$key]."<br>";

    //  loop the insert query only columnname and values here
}
//or
extract($x_value);
//echo $id.':'.$currency......;
echo "insert into table_name set id='".$id."', currency='".$currency."',
      rate='".$rate."', amount='".$amount."', duration='".$duration."',
     interest='".$interest."', fee='".$fee."', earned='".$earned."'";
}
foreach($x=>x$u值返回)
{
foreach($x_值为$key=>$value){
echo@$key.:“$return[$x][$key]。”
“; //在此处循环“仅插入查询”列名称和值 } //或 提取(x_值); //echo$id.:'.$currency。。。。。。; echo“插入到表中”_nameset id='“$id.”,currency='“$currency.”, 利率=“$rate.”,金额=“$amount.”,期限=“$duration.”, 利息=“$interest.”,费用=“$fee.”,收益=“$owned.”; }
这样做:

$id=[id] 
$currency=[currency]
$rate=[rate]
$amount=[amount]
$duration=[duration]
$interest=interest]
$fee=fee]
$earned=[earned]
$open=[open]
$close=[close]
foreach($return as $x=>$x_value)
{
foreach($x_value as $key=>$value){

    echo @$key.":".$return[$x][$key]."<br>";

    //  loop the insert query only columnname and values here
}
//or
extract($x_value);
//echo $id.':'.$currency......;
echo "insert into table_name set id='".$id."', currency='".$currency."',
      rate='".$rate."', amount='".$amount."', duration='".$duration."',
     interest='".$interest."', fee='".$fee."', earned='".$earned."'";
}
foreach($x=>x$u值返回)
{
foreach($x_值为$key=>$value){
echo@$key.:“$return[$x][$key]。”
“; //在此处循环“仅插入查询”列名称和值 } //或 提取(x_值); //echo$id.:'.$currency。。。。。。; echo“插入到表中”_nameset id='“$id.”,currency='“$currency.”, 利率=“$rate.”,金额=“$amount.”,期限=“$duration.”, 利息=“$interest.”,费用=“$fee.”,收益=“$owned.”; }
您可以将关联数组转换为变量,如下面的代码:

$list = array( 'var1' => 'value1', 'var2' => 'value2' );
foreach ( $list as $key => $value ) {
   $$key = $value; 
}
echo $var1; //prints 'value1'
echo $var2; //prints 'value2'

这是一种简单的方法,效果很好

您可以将关联数组转换为变量,如下面的代码:

$list = array( 'var1' => 'value1', 'var2' => 'value2' );
foreach ( $list as $key => $value ) {
   $$key = $value; 
}
echo $var1; //prints 'value1'
echo $var2; //prints 'value2'
这是一种简单的方法,效果很好

尝试php
extract()
方法

// Static Array.
$data = array();
$data[0]['id']='357988064';
$data[0]['currency']='DOGE';
$data[0]['rate']='0.00008000';
$data[0]['amount']='3134.03982846';
$data[0]['duration']='0.25540000';
$data[0]['interest']='0.06403308';
$data[0]['fee']='-0.00960496';
$data[0]['earned']='0.05442812';

$data[1]['id']='314564564';
$data[1]['currency']='DOGE TWo';
$data[1]['rate']='0.00124564';
$data[1]['amount']='23135.153';
$data[1]['duration']='0.455254';
$data[1]['interest']='0.5456';
$data[1]['fee']='-0.5625';
$data[1]['earned']='0.5464';

// Loop and extract data.
foreach($data as $k=>$var){
    extract($var);
    $ins = "insert into `table_name` set `id`='".$id."', `currency`='".$currency."', `rate`='".$rate."', `amount`='".$amount."', `duration`='".$duration."', `interest`='".$interest."', `fee`='".$fee."', `earned`='".$earned."'";
    echo $ins."<br />";
}
尝试php
extract()
方法

// Static Array.
$data = array();
$data[0]['id']='357988064';
$data[0]['currency']='DOGE';
$data[0]['rate']='0.00008000';
$data[0]['amount']='3134.03982846';
$data[0]['duration']='0.25540000';
$data[0]['interest']='0.06403308';
$data[0]['fee']='-0.00960496';
$data[0]['earned']='0.05442812';

$data[1]['id']='314564564';
$data[1]['currency']='DOGE TWo';
$data[1]['rate']='0.00124564';
$data[1]['amount']='23135.153';
$data[1]['duration']='0.455254';
$data[1]['interest']='0.5456';
$data[1]['fee']='-0.5625';
$data[1]['earned']='0.5464';

// Loop and extract data.
foreach($data as $k=>$var){
    extract($var);
    $ins = "insert into `table_name` set `id`='".$id."', `currency`='".$currency."', `rate`='".$rate."', `amount`='".$amount."', `duration`='".$duration."', `interest`='".$interest."', `fee`='".$fee."', `earned`='".$earned."'";
    echo $ins."<br />";
}


检查-检查-这不起作用,它显示为这样`id:358010478:Currency:358010478。利率:358010478持续时间:358010478利息:358010478费用:358010478收入:358010478打开:358010478关闭:358010478 id:DOGE:货币:DOGE。利率:DOGE持续时间:DOGE利息:`嘿,现在很接近了!但是要把它放到数据库中,我需要它按ID分开,我想读一行问题如果我在寻找某个键的变量,这怎么行?如上文所述,如果我只想输入[0]或说[76]?当您在
提取
时,它会将键转换为变量…如果您有数字,那么您可以使用
foreach
更好地理解我不确定我是否在跟随?你能举个例子吗?我知道我想要的变量是[0]或者[98]这不起作用,它是这样显示的`id:358010478:Currency:358010478。利率:358010478持续时间:358010478利息:358010478费用:358010478收入:358010478打开:358010478关闭:358010478 id:DOGE:货币:DOGE。利率:DOGE持续时间:DOGE利息:`嘿,现在很接近了!但是要把它放到数据库中,我需要它按ID分开,我想读一行问题如果我在寻找某个键的变量,这怎么行?如上文所述,如果我只想输入[0]或说[76]?当您在
提取
时,它会将键转换为变量…如果您有数字,那么您可以使用
foreach
更好地理解我不确定我是否在跟随?你能举一个例子,我知道我需要[0]或者[98]中的变量,那么上面的代码是如何工作的?我很困惑,对不起,我试过了,但没有做任何我需要它做的事情。谢谢<代码>$list不是示例输入2的副本。变量是糟糕代码设计的症状。3.这个答案没有很好地解释给那些从中受益的人。最后,我不建议任何人使用这种方法。我上面的代码是如何工作的?我很困惑,对不起,我试过了,但没有做任何我需要它做的事情。谢谢<代码>$list不是示例输入2的副本。变量是糟糕代码设计的症状。3.这个答案没有很好地解释给那些从中受益的人。最后,我不建议任何人使用这种方法。这将工作,但我是一个api,可以回来与300多个结果,感谢那些将工作,但我是一个api,可以回来与300多个结果,感谢那些请避免链接只是答案请避免链接只是答案