首页 > 解决方案 > 基于 if 语句定义 $variable

问题描述

我有下面的 PHP 代码,它从 cURL 函数中提取请求,我留下了以下参数。

$media_url = $entry['media_url'];
$permalink = $entry['permalink'];
$media_type = $entry['media_type'];
$thumbnail_url = $entry['thumbnail_url'];

if (!empty($thumbnail_url)) {
    /* Get the video thumbnail image info */
    $info = getimagesize($thumbnail_url);
    var_dump($info);
} else {
    /* Get the image info */
    $info = getimagesize($media_url);
    var_dump($info);
}

我正在使用 html div 类在我的网站上定义输出,但我不知道如何定位一个或另一个变量。

<div class="tweet-right" style="width: 100%;">
    <a href="<?= $permalink; ?>" target="_blank"><img class="tw-text instagram-content tw-image" style="width: <?= $width ?>; height: <?= $newHeight ?>;" src="<?= $media_url; ?>" /></a>
</div>

在上面的 html 元素中,我该如何执行以下操作:

如果$thumbnail_url不为空,则使用 that 作为src=,否则使用 the$media_url作为src=

标签: phpphp-curl

解决方案


您可以使用“猫王运算符”:

src="<?= $thumbnail_url ?: $media_url; ?>"

它只是一个省略了中间部分的三元表达式。如果它是真的,这样的表达式将评估左侧,否则评估右侧。

如果这些变量中的任何一个可能是未定义的,而不仅仅是具有空值,则可以使用 null 合并运算符来代替未定义的变量通知。

src="<?= $thumbnail_url ?? $media_url ?? ''; ?>"

推荐阅读