使用数组值作为另一个数组键

发布于 2024-09-27 09:00:06 字数 441 浏览 1 评论 0原文

大家好。

我有一个常规数组(这是 print_r 结果,该数组可以有 1 到 n 个位置):

Array
(
    [1] => value1
    [2] => value2
    [3] => value3
)

我在其他地方定义了另一个数组:

$array_def['value1']['value2']['value3'] = array(
 'fl' => 'field1',
 'f2' => 'field2',
);

使用第一个数组结果,如何检查 $array_def 是否存在?换句话说,我需要使用平面数组值来检查是否存在多维数组对应关系;请记住,这些值可以在第一个数组中重复,因此用键翻转值不是一个选项,因为它会发生冲突并删除重复的值。

提前致谢。

Good day everyone.

I have an regular array (this is the print_r result, the array can have from 1 to n positions):

Array
(
    [1] => value1
    [2] => value2
    [3] => value3
)

I have another array defined elsewhere as:

$array_def['value1']['value2']['value3'] = array(
 'fl' => 'field1',
 'f2' => 'field2',
);

Using the first array result, how can i check if $array_def exists? In other words, i need to use a flat array values to check if a multidimensional array correspondence exists; keep in mind that the values can repeat in the first array, therefore flipping values with keys it's not an option as it will collide and remove duplicated values.

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

揽清风入怀 2024-10-04 09:00:06

你可以这样做:

$a = array(1=>'value1', 2=>'value2', 3=>'value3');
$array_def[$a[1]][$a[2]][$a[3]] = array(
 'fl' => 'field1',
 'f2' => 'field2',
);

我认为没有任何快捷方式或特殊的内置函数可以做到这一点。

You can do it this way:

$a = array(1=>'value1', 2=>'value2', 3=>'value3');
$array_def[$a[1]][$a[2]][$a[3]] = array(
 'fl' => 'field1',
 'f2' => 'field2',
);

I don't think there's any shortcut or special built-in function to do this.

诗化ㄋ丶相逢 2024-10-04 09:00:06

找到了最适合您的功能。不仅返回存在,还返回多维数组中的位置。

http://www.php.net/manual/en/function.array-search.php#47116

日期:2004 年 11 月 3 日 11:13
复制/粘贴太多,

然后您可以循环平面数组和 foreach:

multi_array_search($search_value, $the_array)

Found the perfect function for you. returns not only exists, but position within a multi-dimensional array..

http://www.php.net/manual/en/function.array-search.php#47116

dated: 03-Nov-2004 11:13
too much to copy/paste

you can then loop over your flat array and foreach:

multi_array_search($search_value, $the_array)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文