PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPの単純な配列から動的連想配列を構築する方法は?


次の配列があるとしましょう-

$namesArray = ['John', 'Adam', 'Robert'];

次の出力、つまり上記の配列からの連想配列が必要です-

Array ( [John] => Array ( [Adam] => Array ( [Robert] => Smith ) ) )

<!DOCTYPE html>
<html>
<body>
<?php
function buildingDynamicAssociativeArray($nameArr, $lastName) {
   if (!count($nameArr)) {
      return $lastName;
   }
   foreach (array_reverse($nameArr) as $key) {
      $dynamicAssociativeArr = [$key => $lastName];
      $lastName = $dynamicAssociativeArr;
   }
   return $dynamicAssociativeArr;
}
$namesArray = ['John', 'Adam', 'Robert'];
$result = buildingDynamicAssociativeArray($namesArray, 'Smith');
print_r($result);

$namesArray = [];
$result1 = buildingDynamicAssociativeArray($namesArray, 'Doe');
echo "";
print_r($result1);
?>
</body>
</html>

出力

Array ( [John] => Array ( [Adam] => Array ( [Robert] => Smith ) ) )
Doe

  1. PHPで配列をSimpleXMLに変換する方法は?

    array_walk_recursive()関数を使用して上記の問題を解決できます。array_walk_recursive()は組み込みのPHP関数です。この関数は、配列をXMLドキュメントに変換し、配列のキーが値に変換され、配列の値がXMLの要素に変換されます。 簡単な例でデモンストレーションしましょう。 例 <?php    $array = array (    'name' => 'alex',    'empdept' => 'account

  2. C#で配列から要素にアクセスする方法は?

    まず、配列を定義して初期化します- int[] p = new int[3] {99, 92, 95}; 次に、配列要素を表示します- for (j = 0; j < 3; j++ ) {    Console.WriteLine("Price of Product[{0}] = {1}", j, p[j]); } 任意の要素にアクセスするには、次のように必要な要素のインデックスを含めるだけです- p[2]; 上記は3番目の要素にアクセスするためのものです。 ここで、完全なコードを見てみましょう- 例 using System; name