2009-08-15 122 views
0

我發現下面這段代碼在腳本中,我試圖找出如果它實際上是應該做的更多,然後我看到, 至於我可以告訴它導致的數組:這是什麼php應該做的?

$ MAXSIZE [0]與$ new_width
$ MAXSIZE [1]與$ source_width

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

它應該讓你困惑。 – Randell 2009-08-15 16:59:00

+2

啊,內嵌if - 現在少了幾行代碼*和*可讀性較差 – Steven 2009-08-15 17:00:23

回答

3

它使用內聯如果語句。如果$ new_width被設置,它將使用該值。否則,它默認爲$ source_width。 $ new_height也是如此。是的,你得到一個有兩個值的數字鍵控陣列。

0

它創建具有兩個元件的陣列。如果設置了$new_width並且大於零,則第一個元素將是$new_width。如果不是,它將是$source_width。後者同樣適用,只是高度。閱讀ternary comparison operator瞭解更多信息。

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; 
0

它創建兩個元素的數組:

這可以作爲擴展。第一個元素設置寬度。如果有一個新的寬度設置,那麼它默認爲源寬度。與第二個元素相同,設置高度。