$v){$r[$v]=$k;}"; 3. Gunakan array_keys() untuk mendapatkan semua kunci array. Sintaks "array_keys(array)" akan kembalikan tatasusunan yang mengandungi semua kunci tatasusunan."/> $v){$r[$v]=$k;}"; 3. Gunakan array_keys() untuk mendapatkan semua kunci array. Sintaks "array_keys(array)" akan kembalikan tatasusunan yang mengandungi semua kunci tatasusunan.">

Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menukar kunci kepada nilai dalam tatasusunan php

Bagaimana untuk menukar kunci kepada nilai dalam tatasusunan php

青灯夜游
青灯夜游asal
2022-09-29 19:33:133407semak imbas

3 kaedah penukaran: 1. Gunakan array_flip() untuk menukar kedudukan kunci dan nilai, sintaks "array_flip (array)" 2. Gunakan foreach statement dan array kosong untuk menukar kedudukan kunci dan nilai , sintaks "foreach($arr as $k=>$v){$r[$v]=$k;}"; 3. Gunakan array_keys() untuk mendapatkan semua kunci array, sintaksnya ialah "array_keys (array)" , akan mengembalikan tatasusunan yang mengandungi semua nama kunci.

Bagaimana untuk menukar kunci kepada nilai dalam tatasusunan php

Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer DELL G3

Situasi 1 : Tatasusunan Menukar kunci kepada nilai boleh difahami sebagai pertukaran kunci dan nilai.

Kaedah 1: Gunakan fungsi array_flip() untuk menukar kunci dan nilai tatasusunan

fungsi array_flip() digunakan untuk membalikkan/menukar kunci tatasusunan dan nilai Nama kunci dan nilai kunci berkaitan yang sepadan.

array_flip(array);
参数 描述
array 必需。规定需进行键/值对反转的数组。

Nilai pulangan: Jika pembalikan berjaya, tatasusunan terbalik dikembalikan jika pembalikan gagal, NULL dikembalikan. ​

Nota: Kita mesti ingat bahawa nilai tatasusunan mestilah kunci yang sah, iaitu ia mestilah integer atau rentetan. Jika nilai daripada jenis yang salah, amaran akan dilemparkan dan pasangan kunci/nilai yang berkaitan tidak akan disertakan dalam keputusan.

Contoh

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;); 
$arr=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
var_dump($arr);
$result=array_flip($arr);
echo "交换后:";
var_dump($result);
?>

Bagaimana untuk menukar kunci kepada nilai dalam tatasusunan php

Kaedah 2: Gunakan pernyataan foreach dan tatasusunan kosong untuk menukar kunci tatasusunan dan nilai

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);  
$arr = array("a"=>"a1","b"=>&#39;b1&#39;,"c"=>"a2","d"=>"a1");
var_dump($arr);
$res=[];
foreach($arr as $k=>$v){
	$res[$v]=$k;
}

echo "交换后:";
var_dump($arr);
?>

Bagaimana untuk menukar kunci kepada nilai dalam tatasusunan php

Kes 1: Tatasusunan menukar kunci (kunci) kepada nilai Anda juga boleh memahami kunci tersebut (kunci) sebagai Mengekalkan nilai elemen

boleh difahami sebagai mengalih keluar nilai asal, hanya meninggalkan kunci sebagai nilai elemen.

Pada masa ini, anda perlu menggunakan fungsi array_keys().

fungsi array_key() boleh mendapatkan beberapa atau semua nama kunci (subskrip) dalam tatasusunan Format sintaks fungsi ini adalah seperti berikut:

array_keys($array,$search_value,$strict)

Penerangan parameter adalah seperti berikut:

  • $array: parameter yang diperlukan, tatasusunan yang akan dikendalikan; $search_value: Parameter pilihan jika parameter kosong, fungsi akan mengembalikan semua nama kunci dalam tatasusunan Jika parameter ini ditentukan, fungsi hanya akan mengembalikan nama kunci dengan nilai $search_value; $strict: Parameter pilihan untuk menentukan sama ada untuk menggunakan mod ketat apabila mencari lalai $strict, iaitu mod tidak ketat Hanya jenis dibandingkan semasa carian, bukan jenis Jika $strict ditetapkan kepada benar , membandingkan nilai dan jenis semasa mencari, bersamaan dengan
  • . Fungsi
  • array_key() akan mengembalikan nama kunci tatasusunan yang diperolehi dalam bentuk tatasusunan. ===
  • Contoh 1: Semua nama kunci


<?php
$arr=array("Peter"=>65,"Harry"=>80,"John"=>78,"Clark"=>90);
var_dump($arr);
var_dump(array_keys($arr));
?>
Contoh 2: Nama kunci bagi nilai yang ditentukan

Bagaimana untuk menukar kunci kepada nilai dalam tatasusunan php

<?php
$arr=array("Peter"=>65,"Harry"=>80,"John"=>78,"Clark"=>90);
var_dump($arr);
var_dump(array_keys($arr,80));
var_dump(array_keys($arr,"80"));
var_dump(array_keys($arr,"80",true));
?>

Kaedah 3: Gunakan fungsi array_search() untuk membuat pertanyaan Bagaimana untuk menukar kunci kepada nilai dalam tatasusunan php

Fungsi array_search() boleh mencari nilai kunci yang ditentukan dalam tatasusunan dan mengembalikan nama kunci yang sepadan.

Parameter Perihalan
nilai Diperlukan. Menentukan nilai kunci untuk dicari dalam tatasusunan.
array Diperlukan. Menentukan tatasusunan yang hendak dicari.
ketat Pilihan. Jika parameter ini ditetapkan kepada TRUE, fungsi mencari tatasusunan untuk unsur-unsur jenis data dan nilai yang sama. Nilai yang mungkin:

benar

array_search(value,array,strict)
salah - lalai
参数 描述
value 必需。规定在数组中搜索的键值。
array 必需。规定被搜索的数组。
strict 可选。如果该参数被设置为 TRUE,则函数在数组中搜索数据类型和值都一致的元素。可能的值:
  • true
  • false - 默认
如果设置为 true,则在数组中检查给定值的类型,数字 5 和字符串 5 是不同的(参见实例 2)。
    Jika ditetapkan kepada benar, jenis nilai yang diberikan dalam tatasusunan disemak, nombor 5 dan rentetan 5 adalah berbeza (lihat Contoh 2).

  • Nilai pulangan: Jika nilai kunci yang ditentukan ditemui dalam tatasusunan, kembalikan nama kunci yang sepadan, jika tidak, kembalikan FALSE. Jika nilai kunci ditemui lebih daripada sekali dalam tatasusunan, nama kunci yang sepadan dengan nilai kunci pertama ditemui dikembalikan.

  • <?php
    header(&#39;content-type:text/html;charset=utf-8&#39;);   
    $arr=array("id"=>1,"name"=>"李华","age"=>23);
    var_dump($arr);
    echo "指定值&#39;李华&#39;对应的键名为:".array_search("李华",$arr);
    ?>

    Bagaimana untuk menukar kunci kepada nilai dalam tatasusunan php

    Pembelajaran yang disyorkan: "Tutorial Video PHP

    "

    Atas ialah kandungan terperinci Bagaimana untuk menukar kunci kepada nilai dalam tatasusunan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan:
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn