DrupalサイトでPHPのループを使って出力した値($ highschool)をアルファベット順に並べ替えることを任されました。私の理解は、このインスタンスで適切にソートするために、これらの値を新しい配列に配置する必要があることです。多次元配列の値を新しい配列に置き換えます
<select id="high_school" name="high_school_name" required="">
<option value="">High School*</option>
<?php
$highschool_info = field_get_items('node', $node, 'field_high_school_info');
for ($i = 0; $i < count($highschool_info); $i++) {
$value = field_view_value('node', $node, 'field_high_school_info', $highschool_info[$i]);
$field_collection = $value['entity']['field_collection_item'][key($value['entity']['field_collection_item'])];
$highschool = render($field_collection['field_high_school']['#items'][0]['value']);
?>
<option value="<?php print render ($highschool); ?>"><?php print render ($highschool);?></option>
<?php } ?>
</select>
私の考えは、私が高校の配列($ highschool_array)に$のすべてのインスタンスを置くことの私の目標を達成することができるだろうということでしたが、私は何が起こるかは$高校のすべての新しいインスタンスである以前に上書き考えます1つは配列に$ highschoolの最終インスタンスが含まれるようにします。
$value = field_view_value('node', $node, 'field_high_school_info', $highschool_info[$i]);
$field_collection = $value['entity']['field_collection_item'][key($value['entity']['field_collection_item'])];
$highschool = render($field_collection['field_high_school']['#items'][0]['value']);
$highschool_array= array();
$highschool_array[] = $highschool;
私が後にしていることを達成する最も簡単な方法は何ですか?明確にするために、上のループから$ highschool変数の4つのオプション値、First Highschool、Second Highschool、Third Highschool、Fours Highschoolを出力してみましょう。どのようにして$ highschool_arrayにこれらの値を入れることができますか?最初の高校、4番目の高校、2番目の高校、3番目の高校。
また、これは印刷時に$ highschool_infoの外観です。
Array
(
[0] = Array
(
[value] = 2718
[revision_id] = 189531
)
[1] = Array
(
[value] = 2719
[revision_id] = 189532
)
[2] = Array
(
[value] = 2720
[revision_id] = 189821
)
)
何が入力され、どのような出力が得られますか? – C2486
あなたは '$ highschool'に配列のキーとして値を持たせたいのですか? – Gagantous