2009-08-15 3 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

+2

Ах, встроенный if - теперь меньше строк кода * и * менее читаемость – Steven

ответ

3

Он использует inline если статуты. Если $ new_width установлен, он будет использовать это значение. В противном случае по умолчанию используется значение $ source_width. То же самое верно для $ new_height. И да, вы получаете массив с числовыми ключами с двумя значениями.

0

Это создает массив с двумя элементами. Если $new_width установлено и больше нуля, первым элементом будет $new_width. Если нет, это будет $source_width. То же самое относится к последнему, только с высотой. Прочтите ternary comparison operator для получения дополнительной информации.

0

$ MaxSize [0] будет равна $ new_width, если $ new_width существует, еще $ source_width
$ MaxSize [1] будет равна $ new_height, если $ new_height существует, еще $ source_ высота

См это: http://en.wikipedia.org/wiki/Ternary_operation

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

Он создает массив с двумя элементами. Первый элемент задает ширину. Если установлена ​​новая ширина, то по умолчанию она равна ширине источника. То же самое со вторым элементом, устанавливающим высоту.

Смежные вопросы