English 中文(简体)
PHP改进简单明了的说明
原标题:PHP improve a simple if/else statement
  • 时间:2010-05-14 10:10:25
  •  标签:
  • php
<?php echo isset($areas[ footer ]) ? $areas[ footer ] : null; ?>

如何改进?

最佳回答

请注意,你正在重复,而且以不实的条件,它将成为没有效果的“密码>。 您可以这样说:<条码>空洞或<条码>;<条码>或<条码>未找到。 其它选择是获得<代码> 发送<>>/代码>的回报价值:

$return = isset($areas[ footer ]) ? $areas[ footer ] : null;

if ($return)
{
  // $return contains footer info
}
else
{
  // footer was not set :(
}
问题回答

视从区域获得多少美元,可能更清洁,将其分配给一个变量:

$footer = isset($areas[ footer ]) ? $areas[ footer ] : null;

然后,你可以使用脚步,不进行额外的盘问。

您也可以通过设定一个违约:

$footer = null;
if (isset($areas[ footer ])) {
  $footer = $areas[ footer ];
}

echo $footer;

无,这是处理这种产出的最简明方式。

“非常经常使用这种代码”

你们是否应该通过使用模版语言来彻底避免这一问题,或者将这种行为归入一种功能?

类似:

function get_area($area) {
    if... //your code
    return $area

一种较短的版本,即:

<?php !isset($areas[ footer ]) or print $areas[ footer ]; ?>

But i m not sure if it is faster or more elegant. What do you guys think?

echo $areas[ footer ];

简单,与原线完全相同。

Edit in reply to Felix This gives a notice, but unless you re supposed to turn this in as ultra-perfect homework, it doesn t really matter. You can either fill your code with isset calls or ignore small stuff like this. I d worry about it if I was working in say... Java, but pragmatically nobody is going to care if PHP code that works produces notices.





相关问题
Brute-force/DoS prevention in PHP [closed]

I am trying to write a script to prevent brute-force login attempts in a website I m building. The logic goes something like this: User sends login information. Check if username and password is ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

定值美元

如何确认来自正确来源的数字。

Generating a drop down list of timezones with PHP

Most sites need some way to show the dates on the site in the users preferred timezone. Below are two lists that I found and then one method using the built in PHP DateTime class in PHP 5. I need ...

Text as watermarking in PHP

I want to create text as a watermark for an image. the water mark should have the following properties front: Impact color: white opacity: 31% Font style: regular, bold Bevel and Emboss size: 30 ...

How does php cast boolean variables?

How does php cast boolean variables? I was trying to save a boolean value to an array: $result["Users"]["is_login"] = true; but when I use debug the is_login value is blank. and when I do ...

热门标签