我有一些多维数组,我想用foreach
输入,选择一个特定的元素。运行具有该值的函数,并使用函数中返回的值更改数组内的另一个元素。一些示例代码:
多维数组:
['arrayName']=>array(2)
{
['array2Name']=>array(1)
{
['someElement']=>String(0) ""
['someElement']=>String(0) ""
['someElement']=>String(0) ""
['someElement']=>String(0) ""
['array3Name']=>array(0)
{
['ElementToGet']=>String(4) "1234"
['ElementToChange']=>String(8) "abcdefgh"
我不知道如何选择“ElementToGet”。但是一旦我得到它,它应该像这样处理:
$element = (the way to select it);
$returningElement = $this->my_model->myFunction($element);
返回元素应该替换数组中的“ElementToChange”。我不知道如何处理这个问题,任何人都可以帮助我吗?
答案 0 :(得分:1)
自己找到了解决方案。很多嵌套的foreach
循环。
如果其他人有同样的问题,这是我的方式:
foreach($newsletter_structure as $category_tree)
{
if(is_array($category_tree))
{
foreach($category_tree as $a)
{
if(is_array($a))
{
foreach($a as $b)
{
if(is_array($b))
{
foreach($b as $c)
{
if(is_array($c))
{
foreach($c as $d)
{
if(is_array($d))
{
foreach($d as $e)
{
$newsitem_id = $e['Id'];
$newUrl = $this->setupLoggingUrl($newsitem_id, $newsletter_id);
$e['URL'] = $newUrl;
使用if(is_array())
以避免任何可能的错误。