PHP多维数组到变量
好的,我正在从poloniex API获取信息 它以数组的形式返回,如下所示: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]
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'
这是一种简单的方法,效果很好尝试phpextract()
方法
// 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 />";
}
尝试phpextract()
方法
// 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多个结果,感谢那些请避免链接只是答案请避免链接只是答案