如何使用PHP使用两个键查找单个值?

如何使用PHP使用两个键查找单个值?,php,arrays,indexing,lookup,Php,Arrays,Indexing,Lookup,当我有一个单一的关键点,我需要一个值。 我可以通过使用PHP数组来进行单键查找 $data = array(1 => "one"); return $data[1]; 我有一组数据,其中需要两个键来定位单个值。 使用两个键查找值的功能是什么 return get_value[$key1, $key2]; //? 数据示例: 有几个测试设施分别编号为(1、2、3、4等)。每个工厂都有一套测试的产品(A、B、C、D)。每个工具在为每个产品在数据库中设置字段名方面都有其独特性。设施1测试产品

当我有一个单一的关键点,我需要一个值。 我可以通过使用PHP
数组
来进行单键查找

$data = array(1 => "one");
return $data[1];
我有一组数据,其中需要两个键来定位单个值。
使用两个键查找值的功能是什么

return get_value[$key1, $key2]; //?
数据示例:

有几个测试设施分别编号为
(1、2、3、4等)
。每个工厂都有一套测试的产品(A、B、C、D)。每个工具在为每个产品在数据库中设置字段名方面都有其独特性。设施1测试产品A使用字段
{x,y,z}
获得一组图形点。设施2测试产品A使用字段
{m,n,q}
获取集合或图形点。获取图形点的界面相同,但字段不同。我需要有一个抽象来规范这些字段,无论它们测试的是哪种测试设施和产品

我正在考虑通过设置一个抽象来实现这一点,通过使用两个键来查找所需字段:测试设施编号和要测试的产品

[1, A] => {x, y, z}
[1, B] => {m, n, q}
[2, C] => {g, r, b}
etc

一个键只能有一个值,您可以像这样保留一个串联值

$data = array($key1."---".$key2=>$firstValue); 
并将值存储在数组中。为了得到这些值,可以得到如下值

echo $data[$key1."---".$key2]; 
这个概念类似于复合键(正如我们在数据库中所做的那样),但您只是将它们合并为一个值,以便可以将其用作键

就你而言:

$data = array('1'.'-'.'A'=>Whatever);

您应该这样存储数据:

$data = [
  1 => [
    'A' => {set of fields X},
    'B' => {set of fields Y},
  ],
  2 => [
    'C' => {set of fields Z}
  }
]

您可以访问这样的字段x集合:<代码> $DAT[1 ] [A](代码)>

< P>我也可以考虑这一点:

$set1 = array('x', 'y', 'z');
$set2 = array('m', 'n', 'q');
standard_set = array('a', 'b', 'c');

if ($key1 === 1 && $key2 === 'A')
    return $set1;
else if ($key1 === 1 && $key2 === 'B')
    return $set2;
else
    return $standard_set;

我认为你最好给我们展示一个数据示例,因为目前我不确定你的意思,或者你的意思是
get_value[$key1][$key2]
但我们需要再次了解您正在处理的数组,以便在此提供真正的帮助当您有一个类似数组的数组(1=>数组(1=>“value”))时,您可以使用$data[1][1]访问它并获取“value”键可以是一个值,您可以保留一个类似于
$key1]的串联值.$key2
并将值存储在数组和中,以获取值。获取像
$data[$key1.-“$key2]
@riggsfully这样的值我想这是一个如何存储由两个键定义的值的问题。确定这可以是一个多维数组。但是也有类似于
$array[$value1.':'.$value2]
我喜欢将多个键合并为一个键的概念,然后您可以使用各种已建立的功能来执行键=>值查找。为什么会有反对票?@Dennis可能是因为在你用例子编辑你的帖子之前,我就回答了