通过php/json从数据库获取数据

通过php/json从数据库获取数据,php,jquery,mysql,Php,Jquery,Mysql,如何获取这些变量并将其存储在我自己的变量中?我想获取它们,以便在保存过程中更新其中一些。我知道这可以通过jquery/ajax或php实现。。但我如何才能正确地做到这一点呢?例如,我想取[x]并将其存储在变量A中 Array ( [sliders] => Array ( [c1] => Array ( [c

如何获取这些变量并将其存储在我自己的变量中?我想获取它们,以便在保存过程中更新其中一些。我知道这可以通过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\u 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

Rajdeep Paul的回答增加了两项内容:

  • 如果您的输入是一个JSON字符串,而不是一个PHP数组,则可以通过一个PHP对象对其进行解码。然后,您可以像这样引用“内容”对象:

    // 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
    
    $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 '&nbsp;&nbsp;&nbsp;' . $style . "<br />";
    

    您是如何打印上述数据的?可能与
    x: -71.5
    y: -59
    additional_style:
       style_def_1
       style_def_2
       style_def_3