Так что вам кажется, что вы заинтересованы в цвете различных объектов и переключении вокруг ассоциации, чтобы цвет отражал объекты, а не наоборот.
Вот один подход, который работает с вашим сценарием:
<?php
// The objects we wish to extract colors for
$subjects = array(
'tiger' => array ("orange", "white"),
'cat' => array ("black", "white", "brown"),
'fruit' => array ("purple", "red", "green", "brown")
);
// The array we will push colors to as keys, and objects to as values
$consolidated = array();
// Iterate over each object
foreach($subjects as $subject => $colors) {
// Iterate over each color in the object
foreach($colors as $color) {
$consolidated[$color][] = $subject;
}
}
// Print out results.
foreach($consolidated as $subject => $contents) {
print $subject . ' : ' . implode(' + ', $contents) . "<br />\n";
}
Приведенные выше результаты:
orange : tiger
white : tiger + cat
black : cat
brown : cat + fruit
purple : fruit
red : fruit
green : fruit
Почему не '' print_r' или var_dump'? – ShuklaSannidhya
Я думаю, что небольшая область здесь поможет. 1-й вопрос - чего вы пытаетесь достичь? Второй вопрос - есть ли только эти 3 массива для рассмотрения или может быть какой-то номер? – Raad
1-й ответ - я хочу пропустить все 3 разных переменные массива, чтобы найти, какая переменная массива имеет элемент «оранжевый». 2-й ответ - есть только 17 массивов, они исправлены, не будет меньше и не будет больше. Только 17. – zac1987