重组数组 - PHP 重组二维数组
如何将原二维数组重组成以下形式?
原数组
<code>Array ( [0] => Array ( [第1-2节] => [第3-4节] => Web网站开发与维护_每周_XXXX_01-15周_S1-205 [第5-6节] => Linux高级应用_每周_XXXX_01-15周_A-910 [第7-8节] => 网络安全_每双周_XXXX_01-15周_A-507 [第9-10节] => ) [1] => Array ( [第1-2节] => IPV6技术_每周_XXXX_01-14周_S1-303 [第3-4节] => [第5-6节] => 网络安全_每周_XXXX_01-15周_C-408 [第7-8节] => [第9-10节] => ) [2] => Array ( [第1-2节] => 网络营销_每周_XXXX_01-14周_C-201 [第3-4节] => [第5-6节] => 就业指导_每周_XXXX_11-12周_B-202 [第7-8节] => [第9-10节] => ) [3] => Array ( [第1-2节] => Linux高级应用_每单周_XXXX_01-15周_A-910/Web网站开发与维护_每双周_张劲波_01-15周_A-910 [第3-4节] => [第5-6节] => Cisco高级应用_每周_XXXX_01-14周_S1-305 [第7-8节] => Linux高级应用_每周_XXXX_01-15周_S1-303 [第9-10节] => ) [4] => Array ( [第1-2节] => 网络安全_每周_XXXX_01-15周_A-508 [第3-4节] => Web网站开发与维护_每周_XXXX_01-15周_A-908 [第5-6节] => [第7-8节] => [第9-10节] => ) ) </code>
重组后的格式为:
<code>Array ( [0] => Array ( [第1-2节] => [第1-2节] => IPV6技术_每周_XXXX_01-14周_S1-303 [第1-2节] => 网络营销_每周_XXXX_01-14周_C-201 [第1-2节] => Linux高级应用_每单周_XXXX_01-15周_A-910/Web网站开发与维护_每双周_XXXX_01-15周_A-910 [第1-2节] => 网络安全_每周_XXXX_01-15周_A-508 ) [1] => Array ( [第3-4节] => Web网站开发与维护_每周_XXXX_01-15周_S1-205 [第3-4节] => [第3-4节] => [第3-4节] => [第3-4节] => Web网站开发与维护_每周_XXXX_01-15周_A-908 ) [2] => Array ( [第5-6节] => Linux高级应用_每周_XXXX_01-15周_A-910 [第5-6节] => 网络安全_每周_XXXX_01-15周_C-408 [第5-6节] => 就业指导_每周_XXXX_11-12周_B-202 [第5-6节] => Cisco高级应用_每周_XXXX_01-14周_S1-305 [第5-6节] => ) [3] => Array ( [第7-8节] => 网络安全_每双周_XXXX_01-15周_A-507 [第7-8节] => [第7-8节] => [第7-8节] => Linux高级应用_每周_XXXX_01-15周_S1-303 [第7-8节] => ) [4] => Array ( [第9-10节] => [第9-10节] => [第9-10节] => [第9-10节] => [第9-10节] => ) ) </code>
回复内容:
如何将原二维数组重组成以下形式?
原数组
<code>Array ( [0] => Array ( [第1-2节] => [第3-4节] => Web网站开发与维护_每周_XXXX_01-15周_S1-205 [第5-6节] => Linux高级应用_每周_XXXX_01-15周_A-910 [第7-8节] => 网络安全_每双周_XXXX_01-15周_A-507 [第9-10节] => ) [1] => Array ( [第1-2节] => IPV6技术_每周_XXXX_01-14周_S1-303 [第3-4节] => [第5-6节] => 网络安全_每周_XXXX_01-15周_C-408 [第7-8节] => [第9-10节] => ) [2] => Array ( [第1-2节] => 网络营销_每周_XXXX_01-14周_C-201 [第3-4节] => [第5-6节] => 就业指导_每周_XXXX_11-12周_B-202 [第7-8节] => [第9-10节] => ) [3] => Array ( [第1-2节] => Linux高级应用_每单周_XXXX_01-15周_A-910/Web网站开发与维护_每双周_张劲波_01-15周_A-910 [第3-4节] => [第5-6节] => Cisco高级应用_每周_XXXX_01-14周_S1-305 [第7-8节] => Linux高级应用_每周_XXXX_01-15周_S1-303 [第9-10节] => ) [4] => Array ( [第1-2节] => 网络安全_每周_XXXX_01-15周_A-508 [第3-4节] => Web网站开发与维护_每周_XXXX_01-15周_A-908 [第5-6节] => [第7-8节] => [第9-10节] => ) ) </code>
重组后的格式为:
<code>Array ( [0] => Array ( [第1-2节] => [第1-2节] => IPV6技术_每周_XXXX_01-14周_S1-303 [第1-2节] => 网络营销_每周_XXXX_01-14周_C-201 [第1-2节] => Linux高级应用_每单周_XXXX_01-15周_A-910/Web网站开发与维护_每双周_XXXX_01-15周_A-910 [第1-2节] => 网络安全_每周_XXXX_01-15周_A-508 ) [1] => Array ( [第3-4节] => Web网站开发与维护_每周_XXXX_01-15周_S1-205 [第3-4节] => [第3-4节] => [第3-4节] => [第3-4节] => Web网站开发与维护_每周_XXXX_01-15周_A-908 ) [2] => Array ( [第5-6节] => Linux高级应用_每周_XXXX_01-15周_A-910 [第5-6节] => 网络安全_每周_XXXX_01-15周_C-408 [第5-6节] => 就业指导_每周_XXXX_11-12周_B-202 [第5-6节] => Cisco高级应用_每周_XXXX_01-14周_S1-305 [第5-6节] => ) [3] => Array ( [第7-8节] => 网络安全_每双周_XXXX_01-15周_A-507 [第7-8节] => [第7-8节] => [第7-8节] => Linux高级应用_每周_XXXX_01-15周_S1-303 [第7-8节] => ) [4] => Array ( [第9-10节] => [第9-10节] => [第9-10节] => [第9-10节] => [第9-10节] => ) ) </code>
[1] => Array ( [第3-4节] => Web网站开发与维护_每周_XXXX_01-15周_S1-205 [第3-4节] => [第3-4节] => [第3-4节] => [第3-4节] => Web网站开发与维护_每周_XXXX_01-15周_A-908 )
这种key相同的写法,后面的key会覆盖前面的,你应该是期望得到这种结果:
[第1-2节] => Array ( [0] => [1] => IPV6技术_每周_XXXX_01-14周_S1-303 [2] => 网络营销_每周_XXXX_01-14周_C-201 [3] => Linux高级应用_每单周_XXXX_01-15周_A-910/Web网站开发与维护_每双周_XXXX_01-15周_A-910 [4] => 网络安全_每周_XXXX_01-15周_A-508 ) [第3-4节] => Array ( [0] => Web网站开发与维护_每周_XXXX_01-15周_S1-205 [1] => [2] => [3] => [4] => Web网站开发与维护_每周_XXXX_01-15周_A-908 )
可以写一个function:
public function listData($arr){ if(empty($arr)) return array(); $listData = array(); foreach($arr as $key=>$value){ foreach($value as $k=>$v){ $listData[$k][] = $v; } } return $listData; }
测试数组
$arr = array( 0=>array( 'a'=>1, 'b'=>2, 'c'=>3, ), 1=>array( 'a'=>11, 'b'=>22, 'c'=>33, ), 2=>array( 'a'=>111, 'b'=>222, 'c'=>333, ), );
得到:
array 'a' => array 0 => int 1 1 => int 11 2 => int 111 'b' => array 0 => int 2 1 => int 22 2 => int 222 'c' => array 0 => int 3 1 => int 33 2 => int 333

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。
