cari

Rumah  >  Soal Jawab  >  teks badan

Gunakan nilai kunci utama data sebagai indeks tatasusunan bersekutu untuk mendapatkan data

Selepas melaksanakan pertanyaan pengambilan, saya mendapat pelbagai hasil:

[row_choice] => Array
  (
    [0] => Array
      (
        [id] => 277410
        [text_value] => Two Wheel
      )
    [1] => Array
      (
        [id] => 277411
        [text_value] => Three Wheel
      )
    [2] => Array
      (
        [id] => 277412
        [text_value] => Four Wheel
      )
  )

Bagaimana saya boleh mendapatkan tatasusunan hasil seperti ini?

[row_choice] => Array
  (
    [277410] => Array
      (
        [id] => 277410
        [text_value] => Two Wheel
      )
    [277411] => Array
      (
        [id] => 277411
        [text_value] => Three Wheel
      )
    [277412] => Array
      (
        [id] => 277412
        [text_value] => Four Wheel
      )
  )

Apa yang perlu saya lakukan?

Soalan saya ialah

SELECT id,text_value FROM answer_choice


王林王林566 hari yang lalu8149

membalas semua(2)saya akan balas

  • 大瓶可乐@php.cn

    大瓶可乐@php.cn2023-07-17 10:37:08


    从SQL查询中直接实现这个功能是不可能的,但是你可以检索所有的数据,然后重新映射数组。

    使用PHP 5.5的array_column()函数,你可以做类似以下的操作:


    $myarray['row_choice'] = array_combine(
        array_column($myarray['row_choice'], 'id'),
        $myarray['row_choice']
    );

    对于较早版本的PHP,可以使用array_map()函数来代替。

    $myarray['row_choice'] = array_combine(
        array_map(
            function($value) {
                return $value['id'];
            },
            $myarray['row_choice']
        ),
        $myarray['row_choice']
    );

    你应该按照以下方式创建一个新的数组变量。

    $recArr = array();
    
    while ($records = mysqli_fetch_array($query)) {
        $recArr[$records['id']] = $records;
    }
    
    var_dump($recArr);

    balas
    0
  • coco

    coco2023-08-09 18:49:59

    Hello, Cikgu Wang, saya sangat bersetuju dengan kemahiran anda dan berharap untuk mempunyai peluang komunikasi selanjutnya dengan anda. Bolehkah anda menambah kami melalui WeChat atau e-mel

    balas
    0
  • Batalbalas