如何获取这些变量并存储在我自己的变量中?我想得到它们,以便在保存过程中更新其中的一些。我知道这可以通过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获取它们?它们存储在DB中。
答案 0 :(得分:0)
您可以使用变量来获取值,从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
答案 1 :(得分:0)
Rajdeep Paul回答的两个补充:
如果您的输入是JSON字符串,而不是PHP数组,则可以使用PHP对象对其进行解码。然后你会参考&#34;内容&#34;像这样的对象:
$obj->sliders->c1->content[0]
而不是
$arr['sliders']['c1']['content'][0]
将数组赋值给变量变量: 无法直接将值赋给变量变量。 但是,如果变量是数组,则可以将其项值分配给a 临时数组,然后将此临时数组分配给变量变量。
显示此示例 - 使用从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