@emerysh

Как получить отдельные элемент массива php?

Помогите пожалуйста,
Есть функция в которой есть массивы(задано плагином)
массивы
$icons['avatar-upload'] = array(
        'content'=> '<span><input type="file" id="userpicupload" accept="image/*" name="userpicupload"></span>',
        'atts' => array(
            'title' => __('Avatar upload','wp-recall'),
            'url' => '#'
        )
    );
    
    if(get_user_meta($user_ID,'rcl_avatar',1)){
        $icons['avatar-delete'] = array(
            'atts' => array(
                'title' => __('Delete avatar','wp-recall'),
                'href' => wp_nonce_url( rcl_format_url(get_author_posts_url($user_ID)).'rcl-action=delete_avatar', $user_ID )
            )
        ); 
}
return $icons;


В другом же файле вызывается эта функция, происходит
перебор
foreach($icons as $icon ){
        $atts = array();
        if(isset($icon['atts'])){
            foreach($icon['atts'] as $attr => $val){
                $val = (is_array($val))? implode(' ',$val): $val;
                $atts[] = $attr.'="'.$val.'"';
            }
        }
        $string = '<a '.implode(' ',$atts).'>';
        if(isset($icon['content'])) 
            $string .= $icon['content'];
        $html[] = $string;
    }
   echo implode('',$html);
и создание елементов. Есть ли вариант оптимизировать, в php совсем недавно, сложно что то придумать?
Или как мне отдельно получать $icons['avatar-upload'], $icons['avatar-delete'], перебирать и тд.

и почему foreach($icons['avatar-upload'] as $icon ) не работает корректно?
  • Вопрос задан
  • 265 просмотров
Решения вопроса 1
@emerysh Автор вопроса
Все элементарно просто.. как оказалось)
Во-первых: перебор должен был быть такого вида foreach($icons as $icon_id => $icon )
Во-вторых: далее должна идти проверка, что-то похожее на это if($icon_id['avatar-upload'])
Всем удачи
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы