PHP数组:更改值

时间:2013-12-04 19:23:42

标签: php arrays

我有这个数组:

    Array
(
    [0] => Array
        (
            [menu_id] => 8
            [menu_children] => 0
            [menu_voce] => Eventi
            [menu_alias] => eventi
            [menu_pubblicato] => 1
            [pagine_id] => 6
            [pagine_titolo] => Pagina degli eventi
            [pagine_descrizione] => pagina eventi
            [pagine_testo] => <p>eventi</p>

            [pagine_creato] => 2013-12-04 18:49:49
            [pagine_template] => base.html
            [pagine_aggiornato] => 
            [pagine_timezone] => Europe/Rome
            [childs] => Array
                (
                    [0] => Array
                        (
                            [menu_id] => 9
                            [menu_children] => 8
                            [menu_voce] => Natale
                            [menu_alias] => natale
                            [menu_pubblicato] => 1
                            [pagine_id] => 7
                            [pagine_titolo] => natale 2013
                            [pagine_descrizione] => natale 2013
                            [pagine_testo] => <p>natale 2013!</p>

                            [pagine_creato] => 2013-12-04 19:09:57
                            [pagine_template] => base.html
                            [pagine_aggiornato] => 
                            [pagine_timezone] => Europe/Rome
                        )

                )

        )

    [1] => Array
        (
            [menu_id] => 10
            [menu_children] => 0
            [menu_voce] => Promozioni
            [menu_alias] => promozioni
            [menu_pubblicato] => 1
            [pagine_id] => 8
            [pagine_titolo] => promozioni
            [pagine_descrizione] => promozioni
            [pagine_testo] => <p>promozioni</p>

            [pagine_creato] => 2013-12-04 19:17:37
            [pagine_template] => base.html
            [pagine_aggiornato] => 
            [pagine_timezone] => Europe/Rome
        )

)

如果“pagine_aggiornato”为空,我需要更改“pagine_aggiornato”==“pagine_creato”中的值,之后我需要调用非标准函数。

在伪代码中:

 if $pageTree['pagine_aggiornato'] == ''
   {
      $pageTree['pagine_aggiornato']=localizzaData($pageTree['pagine_creato'],UTF);
   } else {
      $pageTree['pagine_aggiornato'] = localizzaData($pageTree['pagine_aggiornato'],UTF);
   }

问题在于是否存在“Childs”子阵列,具体取决于是否存在子菜单。

你能帮我写一下智能快速的代码来编辑这个数组吗?谢谢

编辑:

有了umulder的提示,我正在使用array_walk_recursive,但每次“pagine_aggiornato”值都为null。

这是代码:

function _update_key_array(&$item,$key)
        {
            if ($key=='pagine_creato')
            {
                $creazione = $item;
                if($key=='pagine_aggiornato')
                {
                    if ($item=='')
                    {
                        $item = $creazione;
                    }
                }
            }
        }
        array_walk_recursive($pageTree,'_update_key_array');

0 个答案:

没有答案