Php 只输出背景色,只输出图像或同时输出两者

Php 只输出背景色,只输出图像或同时输出两者,php,Php,在我的模板上,我有一个字段,用户可以在其中选择网站的背景 这是从数组中的ID后台调用的 我的问题是,如果只给用户以下选项,我如何才能将其正确输出到CSS的头部部分: 1仅选择背景色 背景:990000 2仅选择背景图像 背景:url../images/example.jpg不重复左上滚动 3或选择背景色和图像 背景:990000 url../images/example.jpg不重复左上滚动 这是我当前将脚本输出到css头部分的代码片段: <?php $background = of_ge

在我的模板上,我有一个字段,用户可以在其中选择网站的背景

这是从数组中的ID后台调用的

我的问题是,如果只给用户以下选项,我如何才能将其正确输出到CSS的头部部分:

1仅选择背景色

背景:990000

2仅选择背景图像

背景:url../images/example.jpg不重复左上滚动

3或选择背景色和图像

背景:990000 url../images/example.jpg不重复左上滚动

这是我当前将脚本输出到css头部分的代码片段:

<?php $background = of_get_option('background-one'); {  
    if ($background['color'] || $background['image']) {
        echo 'body {
        background: ' . $background['color'] . ' url(' . $background['image']. ') ' .$background['repeat']. ' ' .$background['position']. ' ' .$background['attachment']. ';';
    }

    else if ($background['color']) {  
        echo 'body {
        background: ' . $background['color']. ';';
    }

    else if ($background['image']) {
        echo 'body {
        background: ' . 'url(' . $background['image']. ') ' .$background['repeat']. ' ' .$background['position']. ' ' .$background['attachment']. ';';
    };
}
?>
但这样做的结果是:

1仅选择背景色

背景:990000 url不重复左上角滚动

2仅选择背景图像

背景:url../images/example.jpg不重复左上滚动

3或选择背景色和图像

背景:990000 url../images/example.jpg不重复左上滚动

由于我刚刚开始编写PHP,如何重新编写上面的代码片段以获得我想要的结果?

更改以下内容:

if ($background['color'] || $background['image']) {
为此:

if ($background['color'] && $background['image']) {
代码段不能按您希望的方式工作的原因是| |等于或,这意味着如果设置了$background['color']或$background['image'],则将应用if语句


相反,使用&&在英语中表示AND,这将使if语句仅在同时设置了颜色和图像时才适用。

问题在于bcakground one只能是1值。它可以是颜色也可以是背景,但不能同时是颜色和背景。因此,除非您为background-one创建一个both值,否则无法同时执行这两种操作。我如何创建一个both值,因为PHP不是我的强项,下面的方法也可以。我也想到了,但我忘了它是PHP^。^不用担心,谢谢你所做的一切@mrxenotypethanky@Nanashi-Dri,我之前也研究过这个问题,但搜索引擎并不总是返回关于符号及其用法的最佳结果。&&真是一种享受!有时,在搜索引擎上搜索时,重新表述您的查询是很好的。使用And或PHP而不是&&| | PHP很可能会返回有价值的结果。不过不客气,: