如何在php中组合两个数组?

问题描述 投票:0回答:5

我有一个数组。例如:

array('a'=>'abc','b'=>'pqr','c'=>'xyz');

对此我已经编码了密钥“c” 现在我正在获取该密钥的编码值。

接下来我需要用这个编码值代替编码密钥的原始值...

示例我不想这样输出:

array('a'=>'abc','b'=>'pqr','c'=>H162);

请任何人帮助我。

php encoding key decoding
5个回答
0
投票

只需为数组的元素“c”赋值即可。例如

$arr = array('a'=>'abc','b'=>'pqr','c'=>'xyz');
print_r($arr);
$arr['c'] = 'H162';
print_r($arr);

0
投票

array_merge — 合并一个或多个数组


0
投票

如果你只是想改变'c'的值并且你知道密钥,你可以简单地调用这样的东西

$your_array['c'] = NEW_VALUE

但这与组合数组无关。如果您不想组合 2 个数组,请查看 http://php.net/manual/de/function.array-combine.php


0
投票

我相信这就是您想要实现的目标:

$array1 = array('a'=>'abc','b'=>'pqr','c'=>'xyz');
$array2 = array('xyz'=>'test'); 
foreach($array1 as $key=>$element){
    if(array_key_exists($element, $array2)){
       $array1[$key] = $array2[$element]; 
    } 
}

0
投票

非常广泛的问题。我举了一个数字的例子,字符串存在几种编码/解码方法。

首先,定义您的编码/解码函数。 (注意:在这个例子中,我使用正数。您可以编写自己的字符串编码方法)。当您访问项目时,您必须始终知道该值是否经过编码,因此我们始终将编码数表示为负数,并且我们假设负数是编码数。 (例如,对于字符串,您可以在普通字符串前添加“0”,在编码字符串前添加“1”。还存在其他方法。)

//Very simple functions, should be complex functions.
function encode($x) { return - $x * 2; }
function decode($x) { return - $x / 2; }

现在想象一个数组:

$arr = array('a'=>123,'b'=>456,'c'=>789);

对“c”进行编码:

$arr['c'] = encode($arr['c']);

...或对数组中的所有项目进行编码:

foreach($arr as $key=>$val)
   $arr[$key] = encode($arr[$key]);

用于访问数组成员:

function getArrayMember($key)
{
if ($arr[$key] < 0)            //This is an encoded number...
    return decode($arr[$key]); //...decode it.
else                           //Normal numbers...
    return $arr[$key];         //...return as is.
}

这是为了数字。您可以实现或找到合适的字符串编码/解码方法。

© www.soinside.com 2019 - 2024. All rights reserved.