【发布时间】:2013-10-23 00:32:39
【问题描述】:
我定义了以下数组:
array(
'name'=>'Blue',
'age'=>'0',
'skin'=>array(
'White Skin','Tanned Skin'
),
'eye'=>array(
'Black','Brown','Honey'
),
'personality'=>array(
'Intelligent','Warm','Trustworthy','Sweet'
),
'ocassion'=>array(
'Every day wear','Celebrations','Restaurant Dinner','Feasts','Visiting friends'
),
'hair'=>'All Colors',
'style'=>array(
'Loved to be admired','Center of attention'
),
'description'=>'Blue lens are perfect for any..'
);
我正在尝试从 HTML 表单到此数组中查找匹配的数量。以数组格式从 HTML 表单返回的可能是:
Array
(
[age] => 16
[skin] => Tanned Skin
[eye] => Brown
[personality] => Array
(
[0] => Intelligent
[1] => Warm
[2] => Trustworthy
)
[ocassion] => Weddings
[hair] => Dark Brown
[style] => Array
(
[0] => Style Queen
[1] => Testing val
)
)
我尝试遍历第一个数组的每个键,但未能达到我想要的效果,并且我尝试使用函数 array_intersect_assoc($stack,$search) 但似乎找不到完全匹配,因为 $search数组(第二个示例)有一些字符串类型的键=>值对,它无法匹配第一个数组中的任何匹配项,因为该值实际上是一个数组,而不是字符串。
有人可以给我一个想法或者可以让我知道在这里做什么最好吗?
在过去的 3 个小时里,我尝试了很多东西,但都没有成功。
【问题讨论】:
-
您认为究竟是什么?
-
例如在定义的数组中我有
'eye'=>array('Black','Brown','Honey')并且从 HTML 我得到[eye] => Brown。我认为来自 HTML 的响应被找到到定义的数组中,所以它是匹配的 -
另外,如果我从 HTML 中得到一个数组,如 personality 或 style 我认为匹配该数组的每个值可以找到personality 或 style 数组键下定义的数组。
-
好的,所以您需要一个由两个数组中的值组成的数组。我很笨。 :D
-
是的。但是值应该在每个数组键下匹配。因此,对于从 HMTML 获得的每个数组键,我需要计算在定义的数组中可以找到多少个值(要么只有一个字符串,要么是一个子数组)
标签: php arrays multidimensional-array