我發現下面這段代碼在腳本中,我試圖找出如果它實際上是應該做的更多,然後我看到, 至於我可以告訴它導致的數組:這是什麼php應該做的?
$ MAXSIZE [0]與$ new_width
$ MAXSIZE [1]與$ source_width
$maxSize = array($new_width ? $new_width : $source_width, $new_height ? $new_height : $source_height);
我發現下面這段代碼在腳本中,我試圖找出如果它實際上是應該做的更多,然後我看到, 至於我可以告訴它導致的數組:這是什麼php應該做的?
$ MAXSIZE [0]與$ new_width
$ MAXSIZE [1]與$ source_width
$maxSize = array($new_width ? $new_width : $source_width, $new_height ? $new_height : $source_height);
它使用內聯如果語句。如果$ new_width被設置,它將使用該值。否則,它默認爲$ source_width。 $ new_height也是如此。是的,你得到一個有兩個值的數字鍵控陣列。
它創建具有兩個元件的陣列。如果設置了$new_width
並且大於零,則第一個元素將是$new_width
。如果不是,它將是$source_width
。後者同樣適用,只是高度。閱讀ternary comparison operator瞭解更多信息。
$ MAXSIZE [0]將等於$ new_width如果$ new_width存在,否則source_width $
$ MAXSIZE [1]將等於$ new_height如果$ new_height存在,否則source_ $高度
見此:http://en.wikipedia.org/wiki/Ternary_operation
它導致具有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;
它創建兩個元素的數組:
這可以作爲擴展。第一個元素設置寬度。如果有一個新的寬度設置,那麼它默認爲源寬度。與第二個元素相同,設置高度。
它應該讓你困惑。 – Randell 2009-08-15 16:59:00
啊,內嵌if - 現在少了幾行代碼*和*可讀性較差 – Steven 2009-08-15 17:00:23