PHP将$variable保留在if语句范围之外
我从另一个开发者那里得到了一个项目,我正试图完成并清理一下。这部分代码在检查语言cookie后呈现数据库中的产品:PHP将$variable保留在if语句范围之外,php,Php,我从另一个开发者那里得到了一个项目,我正试图完成并清理一下。这部分代码在检查语言cookie后呈现数据库中的产品: <?php if (get_cookie('spanish')) : ?> <?php if ($product['details_spanish'] != '') : ?>
<?php if (get_cookie('spanish')) : ?>
<?php if ($product['details_spanish'] != '') : ?>
<?php $details = explode(':',$product['details_spanish']); ?>
<h3>Especificaciones</h3>
<?php else : ?>
<?php if ($product['details'] != '') : ?>
<?php $details = explode(':',$product['details']); ?>
<h3>Especificaciones</h3>
<?php endif ?>
<?php endif; ?>
<?php else : ?>
<?php if ($product['details'] != '') : ?>
<?php $details = explode(':',$product['details']); ?>
<h3>Specifications</h3>
<?php endif; ?>
<?php endif; ?>
<ul>
<?php if ($details) : ?>
<?php foreach ($details as $detail) : ?>
<?php $detail = split(',',$detail); ?>
<?php if ($detail[0] != '' && $detail[1] != '') : ?>
<li>
<strong><?=ucwords($detail[0])?></strong> : <?=$detail[1]?>
</li>
<?php endif; ?>
<?php $i++; ?>
<?php endforeach; ?>
<?php endif; ?>
特殊的
特殊的
规格
-
:
对不起,我知道这是很难阅读由于不一致和糟糕的编码(最初不是我的项目。它所做的是在用户计算机上检查西班牙语cookie。如果找到它,它将从表的西班牙语列而不是常规列中提取值。如果表中没有西班牙语值,它将使用英语值。此外,它还创建了一个$details
变量,其中包含数据库的值,并将其拆分到:
所在的位置
我遇到的问题是在一些产品上,它给了我一个错误,说它找不到$details变量,我假设这是因为变量不在第一个if
语句的范围之外
我真的是一个php noob,但即使我也知道这不是一个好的做法。有没有更好的方法来清理这个问题并让我的$detail变量可用?快速解决方法是在最顶端预先初始化该变量:
<?php $details = ''; ?>
快速解决方法是在最顶端预先初始化该变量:
<?php $details = ''; ?>
OMG!!!你不需要在每一行上都有一个开始和结束PHP标记我同意,这本来不是我的项目,所以想象一下我的惊喜:(OMG!!!你不需要在每一行上都有一个开始和结束PHP标记我同意,这本来不是我的项目,所以想象一下我的惊喜:(哇,这解决了我的3个问题!哇,这解决了我的3个问题!