创建阵列时出现问题


Trouble creating array

我有问题…我正在尝试从mysql表创建一个数组。但我不知道如何将MySQL中的数据格式化为php中的数组。以下是我迄今为止所做的。。。

//Generate Org Data
$result_org = mysql_query("SELECT emp_no,sup_empno,Name,Title FROM employees");
// Initializes a container array 
$orgArray = array();
while($row = mysql_fetch_array($result_org, MYSQL_ASSOC))
    {
    $currempno = $row['emp_no'];
    $currsupervisor = $row['sup_empno'];
    $currtitle = $row['Name']. ''n ' .$row['Title'];

//这是我不知道如何获得正确格式的地方

// Stores each database record to an array
      $buildorg = array("$currempno","$currsupervisor","$currtitle");
    // Adds each array into the container array
        array_push($orgArray, $buildorg);
        }
    // show the data to verify
        echo ($orgArray);

// the data needs to be exactly like this below

o.addNode(003002,'','Jane Doe''nAsst Manager')

其中003是$currenpno 002是$currssupervisor Jane Doe''nAsst经理是$currtitle

获取o.addNode(以及逗号、双引号和结尾);这让我很困惑

任何帮助都将不胜感激…

K Driscoll

如果我理解正确,您实际上正在尝试创建行

o.addNode(003, 002, '', 'Jane Doe'nAsst Manager');

因此,只需将值放入字符串中,并按您想要的方式格式化即可-无需创建另一个数组-您可以创建最终字符串并将其推入数组:

$currempno = $row['emp_no'];
$currsupervisor = $row['sup_empno'];
$currtitle = $row['Name']. ''n ' .$row['Title'];
$output = sprintf("o.addNode(%03d, %03d, '', '%s');", $currempno, $currsupervisor, $currtitle);
array_push($orgArray, $output);

我想这或多或少就是你想要的:

$finalArray = array();
$result_org = mysql_query("SELECT emp_no,sup_empno,Name,Title FROM employees");
while( $row = mysql_fetch_array($result_org, MYSQL_ASSOC) ) {
  $finalArray[] = array(
    $row['emp_no'],
    $row['sup_empno'],
    $row['Name'].''n'.$row['Title']
  );
}
print_r($finalArray);

您使用了array_push函数,最好使用另一种构造:$someArray[] = $newElement;——它也必须这样做。以下示例。

此代码将起作用:

//Generate Org Data
$result_org = mysql_query("SELECT emp_no,sup_empno,Name,Title FROM employees");
// Initializes a container array 
$orgArray = array();
while($row = mysql_fetch_array($result_org, MYSQL_ASSOC))
    {
    $currempno = $row['emp_no'];
    $currsupervisor = $row['sup_empno'];
    $currtitle = $row['Name']. ''n ' .$row['Title'];
    $orgArray[] = array($currempno, $currsupervisor, $currtitle);
}
var_dump($orgArray);