php 将行标题与值沿着追加到数组中的数组

gwo2fgha  于 2023-01-16  发布在  PHP
关注(0)|答案(1)|浏览(165)

我有一个链接数组:

Array (
    [link] => Array (
        [title] => FY 2020/21
        [url] => http://local.abc.com/app/uploads/2022/01/A.pdf
        [target] =>
    )

    [show_icon] => 
)

我必须检查[show_icon]是否有值,并向[link]追加一行,名为class。
我希望它看起来像这样:

[link] => Array (
        [title] => FY 2020/21
        [url] => http://local.abc.com/app/uploads/2022/01/A.pdf
        [target] =>
        [class] => 'A string of classes'
    )

    [show_icon] => 
)

我试过运行不同方法的加载来进行追加,比如array_push、array_merge、swap to a stdObject ...
这是我的代码:
$class =['class'=〉'btn-应用类型2'];

if ($link['show_icon']) {
    $class = ['class' => 'btn-apply type2 show-icon'];
}

if (is_array($link['link'])) :
    array_push($link['link'], $class);
endif;

其输出为:

Array (
    [link] => Array (
        [title] => FY 2020/21
        [url] => http://local.abc.com/app/uploads/2022/01/A.pdf
        [target] => 
        [0] => Array (
            [class] => btn-apply type2
        )
    )

    [show_icon] => 
)
    • 如何在[0] => Array (不环绕[class]的情况下向数组中添加内容?**
nkoocmlb

nkoocmlb1#

可以直接将类添加到$link数组中,而不是使用$class创建新数组,然后将其推送到现有数组中。例如,可以使用以下代码:

if (!is_array($link['link'])) {
    $link['link'] = array();
}
if ($link['show_icon']) {
    $link['link']['class'] = 'btn-apply type2 show-icon';
} else {
    $link['link']['class'] = 'btn-apply type2';
}

相关问题