0

我正在努力实现这一点..也许有人知道我怎么能做到这一点我只做了部分,我也在研究 php 和 drupal 函数

在此处输入图像描述

这是完整的图像

http://imageshack.us/photo/my-images/405/array.png/

filed_new(Arr...) 必须变为 ['value'] = string (11111)

4

1 回答 1

1

您的输入数组:

...
0{
    data{
        nid => 1
        vid => 1
        type => article
        field_new{
            und{
                0{
                    value => 11111
                }
            }
        }
    }
}
1{
    data{
        nid => 2
        vid => 2
        type => article
        field_new{
            und{
                0{
                    value => 33333
                }
            }
        }
    }
}

您想要的数组:

...
0{
    data{
        nid => 1
        vid => 1
        type => article
        value => 11111
    }
}
1{
    data{
        nid => 2
        vid => 2
        type => article
        value => 33333
    }
}

Unset (http://php.net/manual/en/function.unset.php)是我们的朋友。

unset() 销毁指定的变量。

使用此代码:

<?php

$loop_count = count($input_arr);
for($i=0;$i<loop_count;$i++){
    //copy the value to the desired place
    $input_arr[$i]["data"]["value"] = $input_arr[$i]["data"]["field_new"]["und"][0]["value"];

    //delete the unwanted portion
    unset($input_arr[$i]["data"]["field_new"]);
} // for loops ENDS

?>

假设:

  • 您的基本/父数组是数字索引的。
  • 在每个数组中,field_new 处于同一级别。

请添加您用于生成/获取此数组的代码,我们可以为您提供更具体的答案。

于 2012-09-02T13:31:11.860 回答