duanmei1694 2015-09-20 11:17
浏览 6
已采纳

如何用sprintf读取php代码

I am self-learning php and I want to ask if am I reading this part of code correctly? If powers is not empty, than make array from values, also each power will act like power_id. But $values[] is same as array_pust() ? And sprintf('(%d, %d)' will put decimal numbers to character_id and power?

 $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);  
  }
  • 写回答

1条回答 默认 最新

  • duanqian8867 2015-09-20 11:25
    关注

    Almost as you described. array_push() can add multiple values at once, whereas single square bracket notation pushes one value onto the end of the array.

    $_POST['powers'] contains an array of values, so the foreach loop will iterate through these elements, and it refers to each element as $power_id within the loop.

    $values = array() isn't strictly neccesary in this example, however it does declare $values to be an empty array, so makes the code clearer to understand. If you omit this line, PHP will deduce you wish to initialise an array when you first assign a value to it inside your foreach loop.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?