2015-09-20 3 views
0

Я самообучающийся php, и я хочу спросить, правильно ли я читаю эту часть кода? If мощности не пустые, чем array от values, также каждый power будет действовать как power_id. Но $values[] такой же, как array_pust()? И sprintf('(%d, %d)' поместит десятичные числа в character_id и power?Как читать php-код с помощью sprintf

$character_id = mysql_insert_id($db); 
    if(!empty($_POST['powers'])) { 
    $values = array(); 
    foreach ($_POST['powers'] as $power_id) { 
    $values[] = sprintf('(%d, %d)', $character_id, $power_id); 
    } 

ответ

0

Практически как вы описали. array_push() может добавлять сразу несколько значений, в то время как одиночная квадратная скобка обозначает одно значение в конце массива.

$_POST['powers'] содержит массив значений, поэтому цикл foreach будет проходить через эти элементы и относится к каждому элементу как $power_id внутри цикла.

$values = array() не является обязательным в этом примере, однако он объявляет $values пустым массивом, поэтому код становится понятным для понимания. Если вы опустите эту строку, PHP выведет, что вы хотите инициализировать массив, когда вы сначала назначаете ему значение внутри цикла foreach.

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