Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中打印或回显数组?_Php_Arrays - Fatal编程技术网

如何在php中打印或回显数组?

如何在php中打印或回显数组?,php,arrays,Php,Arrays,阵列的一点乐趣: orange : tiger white : tiger + cat black : cat brown : cat + fruit purple : fruit 通过修改第一行,您可以轻松地将其扩展到任意数量的数组 因此,您似乎对获取各种对象的颜色感兴趣,并切换关联以使颜色反映对象,而不是相反 以下是一种适用于您的场景的方法: $arrays = compact('tiger', 'cat', 'fruit'); $values = array_unique(call

阵列的一点乐趣:

orange : tiger
white  : tiger + cat
black  : cat
brown  : cat + fruit
purple : fruit
通过修改第一行,您可以轻松地将其扩展到任意数量的数组


因此,您似乎对获取各种对象的颜色感兴趣,并切换关联以使颜色反映对象,而不是相反

以下是一种适用于您的场景的方法:

$arrays = compact('tiger', 'cat', 'fruit');
$values = array_unique(call_user_func_array('array_merge_recursive', $arrays));

foreach ($values as $value) {
    $found = array();
    foreach ($arrays as $name => $bag) {
        if (in_array($value, $bag)) {
            $found[] = $name;
        }
    }
    echo "$value: ".implode(", ", $found)."\n";
}

为什么不
print\u r
var\u dump
?我认为这里有一点范围会有所帮助。第一个问题-你想要实现什么?第二个问题-是否只有这3个数组要考虑,或者可以有任何数字?第一个答案-我想循环通过所有3个不同的数组变量,以找出哪个数组变量有“橙色”元素。第二个答案-只有17个阵列,它们是固定的,不会减少也不会增加。只有17个。如果您保留像-
$array=array('tiger'=>array('orange','white'),'cat'=>array('black','white','brown'))这样的数据结构会更好。
。如果有17个数组,它们都应该在一个更大的二维数组中。就像《约书亚伯恩斯密码》一样,非常感谢。它工作得很好。我学到了一个新东西
array\u unique(调用用户函数数组('array\u merge\u recursive',$arrays))从你今天。谢谢
$arrays = compact('tiger', 'cat', 'fruit');
$values = array_unique(call_user_func_array('array_merge_recursive', $arrays));

foreach ($values as $value) {
    $found = array();
    foreach ($arrays as $name => $bag) {
        if (in_array($value, $bag)) {
            $found[] = $name;
        }
    }
    echo "$value: ".implode(", ", $found)."\n";
}
<?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