我有一个数组,我需要从同一个数组中获取一个未分配给变量的值:
return ['a' => 1, 'b'=> 'a', 'c' => 2];
所以在这种情况下我需要' b'返回与' a'相同的值。这将是1
感谢您的帮助。
修改的
我打算在b的值上运行一个函数,所以b的值略微不同于
return ['a' => 1, 'b'=> myFunction('a'), 'c' => 2];
答案 0 :(得分:0)
你可以这样试试。
foreach ($array as $key => $agent) {
$array[$key]['agent_address_1'] = $agent['agent_company_1'] . ', ' .$agent['agent_address_1'];
unset($array[$key]['agent_company_1']);
}
答案 1 :(得分:0)
你想要的不清楚。 但我假设你试图让一个数组的'b'元素被赋予一个类似于同一个数组'a'元素值的值
如果这就是你所需要的,那就可以了。
<?php
$a = array('a' => 1, 'b' => null, 'c' => 2);
$a['b'] = myFunction($a, 'a');
function myFunction($a, $b)
{
return $a[$b];
}
var_dump($a);
然后你可以返回数组,或者用它做你想做的事。
答案 2 :(得分:0)
也许像
<?php
function resolve(array $arr) {
foreach($arr as &$v) {
if ( isset($arr[$v])) {
$v = $arr[$v];
}
}
return $arr;
}
function foo() {
return resolve( ['a' => '5', 'b'=>'a', 'c' => '1'] );
}
var_export( foo() );
会做,打印
array (
'a' => '5',
'b' => '5',
'c' => '1',
)
但请记住,resolve( ['b'=>'a', 'a' => 'c', 'c' => '1'] );
将返回
array (
'b' => 'c',
'a' => '1',
'c' => '1',
)
( 可以用while( isset($arr[$v])) {
而不是if ( isset($arr[$v]) ) {
来解决这个问题......但是很可能有更优雅/高效的方式来做到这一点)