[英]get data from database via php/json
如何獲取這些變量並將其存儲在自己的變量中? 我想要獲取它們以便在保存過程中更新其中的一些。 我知道可以通過jquery / ajax或php來實現。但是我如何正確地做到這一點? 例如,我想采用[x]
並將其存儲在變量A
。
Array
(
[sliders] => Array
(
[c1] => Array
(
[content] => Array
(
[0] => Array
(
//I WANT THAT VARIABLES: FROM title to additional style//
[title] => 1
[content_type] => image_content
[content_url] => http://url.com
[original_x] => -4px
[original_y] => -27px
[x] => -71.5
[y] => -59
[w] => 450
[h] => 265
[w_original] => 362
[h_original] => 213
[angle] => 0
[opacity] => 100
[order_position] => 10001
[link_url] =>
[matrix] => matrix(0.701111, 0, 0, 0.758491, 0, 0)
[scaleX] => 0.70111111111111
[scaleY] => 0.75849056603774
[text_style] =>
[additional_style] => Array
(
)
[animation_fx] => Array
(
[fx_in] =>
[fx_out] =>
)
[animation_times] => Array
(
[in_start] => 0
[in_stop] => 1000
[out_start] => 4000
[out_stop] => 5000
)
)
)
[duration] => 5
[overlap] => 0
[order_position] => 1
[min_z] => 10001
[max_z] => 10001
)
)
[width] => 450
[height] => 300
[back_color] => #ffffff
[back_color_xyz] => Array
(
[x] => 8
[y] => 50
[z] => 0
)
[link_url] =>
[title] =>
[thumbnail] =>
[id] => 0
)
如何通過php獲取它們? 它們存儲在數據庫中。
您可以使用變量變量獲取從title
到additional_style
數組的值,並將它們存儲在與數組鍵相同的變量中。
這是參考:
因此,您的代碼應如下所示:
// suppose $arr is your original array
foreach($arr['sliders']['c1']['content'][0] as $key => $value){
$$key = $value; // variable variables
if($key == "additional_style"){
break;
}
}
echo "title: " . $title . "<br />"; // title
echo "content_type: " . $content_type . "<br />"; // content_type
echo "content_url: " . $content_url . "<br />"; // content_url
echo "original_x: " . $original_x . "<br />"; // original_x
echo "original_y: " . $original_y . "<br />"; // original_y
echo "x: " . $x . "<br />"; // x
echo "y: " . $y . "<br />"; // y
echo "w: " . $w . "<br />"; // w
echo "h: " . $h . "<br />"; // h
echo "w_original: " . $w_original . "<br />"; // w_original
echo "h_original: " . $h_original . "<br />"; // h_original
echo "angle: " . $angle . "<br />"; // angle
echo "opacity: " . $opacity . "<br />"; // opacity
echo "order_position: " . $order_position . "<br />"; // order_position
echo "link_url: " . $link_url . "<br />"; // link_url
echo "matrix: " . $matrix . "<br />"; // matrix
echo "scaleX: " . $scaleX . "<br />"; // scaleX
echo "scaleY: " . $scaleY . "<br />"; // scaleY
echo "text_style: " . $text_style . "<br />"; // text_style
echo "additional_style array: "; var_dump($additional_style); // additional_style array
輸出:
title: 1
content_type: image_content
content_url: http://url.com
original_x: -4px
original_y: -27px
x: -71.5
y: -59
w: 450
h: 265
w_original: 362
h_original: 213
angle: 0
opacity: 100
order_position: 10001
link_url:
matrix: matrix(0.701111, 0, 0, 0.758491, 0, 0)
scaleX: 0.70111111111111
scaleY: 0.75849056603774
text_style:
additional_style array:
array (size=0)
empty
Rajdeep Paul的答案有兩個補充:
如果您輸入的是JSON字符串而不是PHP數組,則可以將其解碼為PHP對象。 然后您將引用“內容”對象,如下所示:
$obj->sliders->c1->content[0]
代替
$arr['sliders']['c1']['content'][0]
將數組分配給變量變量:無法將值直接分配給變量變量。 但是,如果變量是數組,則可以將其項值分配給臨時數組,然后將此臨時數組分配給變量變量。
顯示此示例的示例-具有從JSON字符串解碼的PHP對象:
$php_object = json_decode($json);
foreach($php_object->sliders->c1->content[0] as $key => $value){
if (is_array($value)) {
$tmp_array = array();
foreach($value as $akey => $avalue) {
$tmp_array[] = $avalue;
}
$$key = $tmp_array;
} else {
$$key = $value; // variable variables
}
}
echo "x: " . $x . "<br />"; // x
echo "y: " . $y . "<br />"; // y
echo 'additional_style:<br />'; // additional_style
foreach($additional_style as $style) echo ' ' . $style . "<br />";
輸出:
x: -71.5
y: -59
additional_style:
style_def_1
style_def_2
style_def_3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.