1

キーと値のペアもいくつか追加する必要がある配列がありますが、問題があります。これが私の配列の例です:

Array
(
    [0] => Array
        (
            [id] => 108
            [pagetitle] => Title
            [description] => 
            [parent] => 35
            [alias] => url-alias
            [menutitle] => 
        )
)

「country」という新しいキーをその値とともに挿入しようとしていますが、何が間違っているのかわかりません。

    foreach($all_items as $item) {

    $country = $modx->getTemplateVarOutput(array("country"), $item['id'], $published=1);
    $item['country'] = $country['country'];
}

$country['country']必要なものが含まれていることを確認しました...配列に追加できないようです。

4

3 に答える 3

9

変更する場合は、配列要素を参照渡しする必要があります。

foreach($all_items as &$item) {
    ...
于 2012-05-31T16:44:05.633 に答える
2

これは、$item配列が実際には 内の要素のコピーにすぎないため$all_itemsです。

あなたが望むものを達成するには、次のようにすることができます:

foreach($all_items as &$item) {
   $country = $modx->getTemplateVarOutput(array("country"), $item['id'], $published=1);
   $item['country'] = $country['country'];
}

foreachのドキュメントも参照してください。まさにそれが見つかります。

于 2012-05-31T16:44:59.277 に答える
1

これはあなたが求めていることをするはずです:

foreach($all_items as $k=>$v) {
    $country = $modx->getTemplateVarOutput(array("country"), $all_items[$k]['id'], $published=1);
    $all_items[$k]['country'] = $country['country'];
}
于 2012-05-31T16:44:50.423 に答える