ホームページ > バックエンド開発 > PHPの問題 > PHP配列のキーを値に変換する方法

PHP配列のキーを値に変換する方法

青灯夜游
リリース: 2023-03-16 22:08:01
オリジナル
3400 人が閲覧しました

3 変換方法: 1. array_flip() を使用してキーと値の位置を交換します。構文は「array_flip (array)」です。 2. foreach ステートメントと空の配列を使用して、キーと値の位置を交換します。キーと値、構文 "foreach($arr as $k=>$v){$r[$v]=$k;}"; 3. array_keys() を使用して、配列のすべてのキーを取得します。構文は "array_keys(array)" で、すべてのキー名を含む配列を返します。

PHP配列のキーを値に変換する方法

このチュートリアルの動作環境: Windows7 システム、PHP8.1 バージョン、DELL G3 コンピューター

状況 1 : 配列 キーを値に変換することは、キーと値を交換することとして理解できます。

方法 1: array_flip() 関数を使用して配列のキーと値を交換する

array_flip() 関数は、配列のキーと値を反転/交換するために使用されます。配列内のキー キー名と、対応する関連キー値。

array_flip(array);
ログイン後にコピー
パラメータ説明
配列必須。キーと値のペアを反転する必要がある配列を指定します。

戻り値: 反転が成功した場合は反転した配列が返され、反転が失敗した場合は NULL が返されます。

注: 配列の値は有効なキーでなければならない、つまり整数または文字列でなければならないことに注意する必要があります。値のタイプが間違っている場合は、警告がスローされ、関連付けられたキーと値のペアは結果に含まれません。

#例


<?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);
?>
ログイン後にコピー

PHP配列のキーを値に変換する方法

##方法 2: foreach ステートメントと空の配列を使用して配列のキーと値を交換します

<?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);
?>
ログイン後にコピー

PHP配列のキーを値に変換する方法

シナリオ 1: 配列はキー (キー) を値に変換します。または、単純にキー (キー) が要素値として保持 は、元の値を削除し、キーのみを要素値として残すこととして理解できます。

この時点で、array_keys() 関数を使用する必要があります。

array_key() 関数は、配列内の一部またはすべてのキー名 (添え字) を取得できます。この関数の構文形式は次のとおりです:

array_keys($array,$search_value,$strict)
ログイン後にコピー

パラメータの説明は次のとおりです:

$array: 操作対象の配列である必須パラメータ;
  • $search_value: オプションのパラメータ。パラメータが空の場合、関数は配列内のすべてのキー名を返します。このパラメータが指定されている場合、関数は値 $search_value;
  • を持つキー名のみを返します。 $strict: 検索時に厳密モードを使用するかどうかを決定するオプションのパラメータです。$strict のデフォルトは、非厳密モードである false です。検索中にタイプではなく、タイプのみが比較されます。$strict が true に設定されている場合、厳密モードです。 、検索時に値と型の両方を比較します。これは
  • ===
  • と同等です。
  • array_key()関数は取得した配列キー名を配列形式で返します。

例 1: すべてのキー名

<?php
$arr=array("Peter"=>65,"Harry"=>80,"John"=>78,"Clark"=>90);
var_dump($arr);
var_dump(array_keys($arr));
?>
ログイン後にコピー

PHP配列のキーを値に変換する方法例 2: 指定された値のキー名

<?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));
?>
ログイン後にコピー

PHP配列のキーを値に変換する方法

方法 3: array_search() 関数を使用してクエリを実行する

array_search() 関数は、配列内の指定されたキー値を検索し、対応するキー名を返すことができます。

array_search(value,array,strict)
ログイン後にコピー

パラメータ値配列#stricttrue
説明
必須。配列内で検索するキー値を指定します。
必須。検索する配列を指定します。
オプション。このパラメータが TRUE に設定されている場合、関数は配列内で同じデータ型と値の要素を検索します。可能な値:
    false - デフォルトの
  • true に設定すると、配列内の指定された値の型がチェックされ、数値 5 と文字列 5 は異なります (例 2 を参照)。
戻り値: 指定されたキー値が配列内で見つかった場合は、対応するキー名を返し、それ以外の場合は FALSE を返します。配列内でキー値が複数回見つかった場合は、最初に見つかったキー値に一致するキー名が返されます。

  • <?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);
    ?>
    ログイン後にコピー

    推奨学習: 「PHP配列のキーを値に変換する方法PHP ビデオ チュートリアル

    以上がPHP配列のキーを値に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート