很抱歉,如果这个问题措辞错误或没有任何意义。我要做的是写一个if语句,检查是否:
array(6) {
[5]=>
string(17) "Quality Assurance"
[6]=>
string(7) "Analyst"
[7]=>
string(19) "Developer/Front end"
[8]=>
string(18) "Developer/Back end"
[9]=>
string(4) "Test"
[10]=>
string(2) "hi"
}
任何这些键,在本例中为5,6,7,8,9,10都在:
array(4) {
[0]=>
object(stdClass)#195 (2) {
["labour_type_id"]=>
int(5)
["required_labour_type_hours"]=>
int(40)
}
[1]=>
object(stdClass)#193 (2) {
["labour_type_id"]=>
int(6)
["required_labour_type_hours"]=>
int(80)
}
}
第二个阵列" labour_type_id"。
在这个例子中,5和6匹配。
我正在尝试使用in_array()函数,但我不知道如何访问第二个数组的labour_type_id。
我目前最好的尝试:
@foreach($labourTypes as $id => $name)
@if(in_array($id, $reqLabourTypes->labour_type_id))
其中labourTypes是第一个数组,reqLabourTypes是第二个数组。
感谢。
答案 0 :(得分:1)
我已经清理了这个小搜索,试图按照您的要求找到它:
$new = array_filter(array_map(function(&$item) use($requiredLabour, $labourTypes){
$key = array_search($item, $labourTypes);
foreach($requiredLabour as $elem){
if($elem['labour_type_id'] == $key) {
return array(
$key => $item,
'options' => $elem
);
}
}
}, $labourTypes));
如果找到,$new
可以访问所有内容。它返回:
Array
(
[5] => Array
(
[5] => Quality Assurance
[options] => Array
(
[labour_type_id] => 5
[required_labour_hours] => 40
)
)
[6] => Array
(
[6] => Analyst
[options] => Array
(
[labour_type_id] => 6
[required_labour_hours] => 40
)
)
)
以上只是输出,只需将return array(.....
内部编辑为您需要的内容,即可将其更改为您需要的任何内容。