我是一个初学者,由于某种原因,我对此感到麻烦。我有以下关联数组。
Array
(
[0] => Array
(
[name_type] => UnixName
[name] => charles
)
[1] => Array
(
[name_type] => DNSFQDN
[name] => charles.mydnsdomain.com
)
[2] => Array
(
[name_type] => DNSDomain
[name] => mydnsdomain.com
)
)
问题在于这些数组永远不会以相同的顺序排列,并且键的名称相同。我只需要DNSFQDN。当我遍历数组时,如何检查DNSFQDN值是否存在,然后检索charles.mydnsdomain.com,以便将其放入变量中。
我已经尝试过in_array和array_search之类的功能,但是由于我严格使用关联数组,因此遇到了麻烦。
任何帮助将不胜感激。
答案 0 :(得分:0)
这会有所帮助;
$input = array(
array(
'name_type' => 'UnixName',
'name' => 'charles'
),
array(
'name_type' => 'DNSFQDN',
'name' => 'charles.mydnsdomain.com'
),
array(
'name_type' => 'DNSDomain',
'name' => 'mydnsdomain.com'
)
);
$domain = $input[array_search('DNSFQDN', array_column($input, 'name_type'))]['name'];
echo $domain; exit;
// output; charles.mydnsdomain.com
答案 1 :(得分:0)
简单尝试一下波纹管..我希望它将对您有帮助
<?php
$test_array = array(
array('name_type'=>'UnixName','name'=>'charles'),
array('name_type'=>'DNSFQDN','name'=>'charles.mydnsdomain.com'),
array('name_type'=>'DNSDomain','name'=>'mydnsdomain.com'),
);
foreach ($test_array as $key => $value) {
if($value['name_type']=='DNSFQDN'){
echo "Domain Name :";
echo $value['name'];
}
}
?>
答案 2 :(得分:0)
您必须使用foreach循环来迭代数组。
<?php
$array_values = array(
array('name_type'=>'UnixName','name'=>'charles'),
array('name_type'=>'DNSFQDN','name'=>'charles.mydnsdomain.com'),
array('name_type'=>'DNSDomain','name'=>'mydnsdomain.com'),
);
foreach ($array_values as $value) {
if($value['name_type']=='DNSFQDN'){
echo "DNSDomain = ".$value['name'];
}
}
?>