大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
要想把一个二维数组值全部替换成另一个二维数组的值,前提条件为二者的规模是相同的。即行数和列数分别相同。
创新互联建站是专业的七台河网站建设公司,七台河接单;提供网站建设、成都网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行七台河网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
假定均为M行N列,类型为int,即
1
int a[M][N], b[M][N];
要将a中所有值替换成b的值,有以下两种方法。
1 逐一元素赋值。
使用双重循环,对数组元素遍历并赋值。
代码如下:
int i, j;for(i = 0; i M; i ++)for(j = 0; j N; j ++)a[i][j] = b[i][j];//逐元素赋值。
2 整体复制内存。
由于二者结构相同,可以使用C库函数memcpy来实现更高效的数据复制。
void *memcpy(void *dest, const void *src, size_t n);
从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。
调用该函数需要引用string.h头文件。
代码如下:
memcpy(b, a, sizeof(a));
只需要这样一句就可以完成复制操作了。
例如:
用php递归将二维数组转换成一维数组:
函数原形:array array_multi2single(array)
实现功能:将多维数组的数值存放到一维数组中,不保存Key。
?php
function array_multi2single($array){
static $result_array=array();
foreach($array as $value){
if(is_array($value)){
array_multi2single($value);
}
else
$result_array[]=$value;
}
return $result_array;
}
$array=array("1"=array("A","B","C",array("D","E")),"2"=array("F","G","H","I"));
$array=array_multi2single($array);
foreach($array as $value){
echo "h5$value/h5";
echo "br";
}
?
可用于多维数组.
$ary = [
'12', '13', '14', '11',
];
$result = [];
foreach($ary as $key=$vo) {
array_push($result, ['rank_idd' = $vo]);
}
print_r($result);
$a =
Array ( '1969-12-31' =10, '1969-12-30' = 20,'1969-12-29' = 5,
'1969-12-28' = 6, '1969-12-27' = 30, '1969-12-26' = 70,
'1969-12-25'= 33);
//转换成这样的二维数组:Array ( [0] = Array ( [day] = 1969-12-31 [sum] = 10 ) [1] = Array ( [day] = 1969-12-30 [sum] = 20 ) [2] = Array ( [day] = 1969-12-29 [sum] = 5 ) [3]... )
$b = Array();
foreach ($a as $key = $value) {
$b[]=Array('day'=$key,'sum'=$value);
}