2015-09-20 28 views
0

我是自學php,我想問問我是否正確讀取這部分代碼? If功率不爲空,比values, 製造array還各個power將行爲像power_id。但是$values[]array_pust()相同?而sprintf('(%d, %d)'會將十進制數字放到character_id和電源上?如何用sprintf讀取php代碼

$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循環中給它賦值時初始化一個數組。