сохранить узел в (объект) в массив - PullRequest
0 голосов
/ 30 марта 2011

У меня есть этот фрагмент кода, он извлекает узел из моего типа узла «Студент».Я пробую разные вещи, чтобы сохранить все значения в '$node' в массив.Но $ node - это объект.Мой вопрос заключается в том, как сохранить все значения в $node в массиве.В Java на C # это проще сделать.

$results = db_query(db_rewrite_sql("SELECT nid FROM {node} WHERE type =
 'student'"));

while($nid = db_result($results)) {

  $node = node_load($nid);

  // Do something with $node

}

в java или c # вы можете сказать в for / foreach / while 'loop'

String item[] = null;
for(int i = 0; i<=myNode; i++) {
   item.add(myNode[i]); // the item and value UgentID, name student, location student are been stored in item array.
}

Я не знаюесли в PHP это тоже есть."YourObject.Add (otherObject)"

1 Ответ

2 голосов
/ 30 марта 2011

Следующее позволяет вашему объекту вести себя (с точки зрения доступа) как массив:

$result = new ArrayObject( $node );

Если вы действительно хотите массив, просто приведите его потом:

$result = (array) $result;

Черт,если подумать, вы могли бы даже просто сделать:

$result = (array) $node;

: -)

Оба метода приведения к массиву на самом деле также выставят защищенные / приватные свойства, я только что выяснил,: -S Ужасно.

редактировать:

// initiate array
$nodes = array();
while($nid = db_result($results)) {

  // either do one of the following, to push
  $nodes[] = node_load($nid);

  // or:
  array_push( $nodes, node_load($nid) );

  // Do something with $node

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...