这个php应该做什么?

时间:2009-08-15 16:54:15

标签: php

我在脚本中发现了下面的代码,我试图弄清楚它是否真的应该做更多然后我看到,  据我所知,它产生了一个数组:

<$> $ maxSize [0],$ new_width
带$ source_width的$ maxSize [1]

$maxSize = array($new_width ? $new_width : $source_width, $new_height ? $new_height : $source_height);

5 个答案:

答案 0 :(得分:3)

它使用内联if语句。如果设置了$ new_width,它将使用该值。否则,默认为$ source_width。 $ new_height也是如此。是的,你会得到一个带有两个值的数字键控数组。

答案 1 :(得分:2)

它产生一个包含2个索引的数组。但它会进行2次三元比较检查,看看这些指数应该相等。

对于第一个,如果$ new_width有一个值,它将使用另一个明智的它将使用$ source_width。

对于第二个,如果$ new_height有一个值,它将使用另一个明智的它将使用$ source_height。

这可以扩展为:

$maxSize = array();
if ($new_width)
  $maxSize[] = $new_width;
else
  $maxSize[] = $source_width;

if ($new_height)
  $maxSize[] = $new_height;
else
  $maxSize[] = $source_height;

答案 2 :(得分:0)

它创建一个包含两个元素的数组。如果$new_width已设置且大于零,则第一个元素将为$new_width。如果没有,则为$source_width。这同样适用于后者,只是高度。请阅读ternary comparison operator以获取更多信息。

答案 3 :(得分:0)

如果$ new_width存在,$ maxSize [0]将等于$ new_width,否则$ source_width
如果$ new_height存在,$ maxSize [1]将等于$ new_height,否则$ source_ height

请参阅:http://en.wikipedia.org/wiki/Ternary_operation

答案 4 :(得分:0)

它创建一个包含两个元素的数组。第一个元素设置为width。如果有一个新的宽度设置,则默认为源宽度。它与第二个元素相同,设置高度。