HomeLập trìnhPhpBỏ đặt con...

[PHP]Bỏ đặt con cháu lồng nhau của một tổ tiên cụ thể dựa trên một khóa và nếu trống thì cũng bỏ đặt tổ tiên


Xin chào,

cảm ơn bạn đã xem xét vấn đề của tôi và đưa ra giải pháp. Nó vẫn không hoạt động như tôi cần, nhưng tôi sẽ thử và chỉnh sửa đoạn mã của bạn.

Đối với mảng trên, mã sẽ xuất ra:

$arr = [
    2 => [
        'id' => 1,
        'families' => [
            0 => [
                'id' => 2,
                'products' => [
                    1 => 'John Doe'
                ],
            ],
        ]
    ],
    3 => [
        'id' => 1,
        'products' => [
            1 => 'Hi',
            2 => 'Hello',
        ]
    ],
];

Nhưng thay vào đó chúng tôi nhận được:
(tức là chúng tôi đã mất tất cả thông tin về $arr[2], trong trường hợp cụ thể này chỉ là id của nó, nhưng nếu có thêm thông tin thì sao? Ngoài ra, các “họ” chính trong $arr[2] bị lạc và thay vì $arr[2][‘families’][0] bây giờ chúng tôi có $arr[2][0])

$arr = [
	2 => [
		0 => [
			'id' => 2,
			'products' => [
				1 => 'John Doe'
			],
		],
	],
	3 => [
		'id' => 1,
		'products' => [
			1 => 'Hi',
			2 => 'Hello',
		]
	],
];

Chỉnh sửa:
(các vấn đề nói trên đã được giải quyết bằng cách chỉnh sửa hai dòng mã này, tuy nhiên, các vấn đề mới đã xuất hiện)

// if a family with products exists,. add it to array
		if (!empty($familiesWithProducts)){
			$hasProducts[$key] = $districts[$key];
			$hasProducts[$key]['families'] = $familiesWithProducts;
		}

Nếu chúng ta thay đổi mảng cũ một chút như sau:

$arr = [
	1 => [
		'id' => 1,
		'families' => [
			0 => [
				'id' => 2
			],
			1 => [
				'id' => 3,
				'families' => [
					0 => [
						'id' => 2,
						'products' => [
							1 => 'Arnold'
						],
					],
				]
			],
		]
	],
	2 => [
		'id' => 1,
		'families' => [
			0 => [
				'id' => 2,
				'products' => [
					1 => 'John Doe'
				],
			],
			1 => [
				'id' => 3,
				'products' => [],
			],
		]
	],
	3 => [
		'id' => 1,
		'products' => [
			1 => 'Hi',
			2 => 'Hello',
		]
	],
	4 => [
		'id' => 1,
		'families' => [
			0 => [
				'id' => 2
			],
			1 => [
				'id' => 3
			],
		]
	],
];

kết quả là:

$arr = [
	2 => [
		0 => [
			'id' => 2,
			'products' => [
				1 => 'John Doe'
			],
		],
	],
	3 => [
		'id' => 1,
		'products' => [
			1 => 'Hi',
			2 => 'Hello',
		]
	],
];

nhưng phải là:

$arr = [
	1 => [
		'id' => 1,
		'families' => [
			1 => [
				'id' => 3,
				'families' => [
					0 => [
						'id' => 2,
						'products' => [
							1 => 'Arnold'
						],
					],
				]
			],
		]
	],
	2 => [
		0 => [
			'id' => 2,
			'products' => [
				1 => 'John Doe'
			],
		],
	],
	3 => [
		'id' => 1,
		'products' => [
			1 => 'Hi',
			2 => 'Hello',
		]
	],
];



Zik.vn – Biên dịch & Biên soạn Lại

Đọc thêm  PHP OOP hoặc thủ tục - Diễn đàn freeCodeCamp
spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status