-1

重複の可能性:
オブジェクトにアクセスするために配列からインデックス キーを削除しますか?

値にアクセスできるようにする必要がありterm_idますが、配列に関連付けられている番号またはインデックスがわかりません。どうすればアクセスできますか?

このようにアクセスしますが$value->term_id、今は値の後に数字を付けてアクセスする必要があります ( $value->[26]->term_id)。

Array
(
    [26] => stdClass Object
        (
            [term_id] => 26
            [name] => Night Life.
            [slug] => shopping-and-night-life
            [term_group] => 0
            [term_taxonomy_id] => 28
            [taxonomy] => map_categories
            [description] => Most of the late night clubs, bars and pubs in Victoria are situated downtown. Here are a few to check out:
            [parent] => 0
            [count] => 6
            [object_id] => 925
        )

)
4

3 に答える 3

4

array_values()配列インデックスを「リセット」するために使用できます。

$new = array_values($old);

結果は次のようになります

Array
(
    [0] => stdClass Object
        (
            [term_id] => 26
            [name] => Night Life.
            [slug] => shopping-and-night-life
            [term_group] => 0
            [term_taxonomy_id] => 28
            [taxonomy] => map_categories
            [description] => Most of the late night clubs, bars and pubs in Victoria are situated downtown. Here are a few to check out:
            [parent] => 0
            [count] => 6
            [object_id] => 925
        )

)

以前の配列インデックスが何であったかに関係なく。

于 2012-12-07T14:05:22.927 に答える
1

現在は配列なので、次のようにアクセスします$value[26]->term_id。キーを配置する必要がない場合は、配列内のオブジェクトに等しい別の変数を設定するだけで済みます。

$value2 = $value[26];
echo $value2->term_id;

値がわからない場合は26、foreach を使用します。

foreach($value as $key => $val) {
     $term_id = $val->term_id;
}

配列に要素が1つしかないことがわかっている場合は、次のことができます。

$value2 = end($value);
$term_id = $value2->term_id;
于 2012-12-07T14:03:35.043 に答える
0

あなたはそれを検索するか、そもそもそれを失わないようにするアルゴリズムを書く必要があります

于 2012-12-07T14:03:03.793 に答える