
正文
php循环修改数组数据 php数组循环赋值
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
关于PHP中foreach循环修改数组值失效的问题
试试这样
$tmp_data = $this-contracts;
foreach($tmp_data as $k = $v){
$v["khdq"] = $this-getNameById($v["khdq"],"khdq");
}
$this-contracts = $tmp_data;
unset($tmp_data);
foreach($this-contracts as $k = $v){
这样不成功是因为 foreach 此方法仅在被遍历的数组可以被引用时才可用(例如是个变量)。
就是说必须是变量才能在foreach 中传引用
相关问答
Q1: php如何把一个数组中的多个值循环替换一段字符串中某个部分,然后把替换后的循环输出
$ostr="在时光里打坐,岁月里参禅,只见你,不见佛。";
$replaces = array("foo", "bar", "hallo", "world");
foreach ($replaces as $value) {
echo str_replace('只见你', $value, $ostr);
}
Q2: PHP在for循环里怎么给数组修改键值
array_slice($arr,1,-1);截取出来再改;
参考例子,完整写法:
$ar = array(
array(1 = 'a', 2 = 50, 3 = 60, 4 = 'long', 5 = 'zzz', 6 = 'kkk', 7 = 'ooo'),
array(1 = 'b', 2 = 60, 3 = 70, 4 = 'king', 5 = 'lll', 6 = 'ttt', 7 = 'ppp'),
array(1 = 'c', 2 = 70, 3 = 80, 4 = 'quit', 5 = 'qqq', 6 = 'xxx', 7 = 'ccc'),
);
$kname = array('StaffId', 'Wage', 'Name', 'Work', 'Type');
function foo($v, $k, $kname) {
$v = array_combine($kname, array_slice($v, 1, -1));
}
array_walk($ar, 'foo', $kname);
print_r($ar);
Array
(
[0] = Array
(
[StaffId] = 50
[Wage] = 60
[Name] = long
[Work] = zzz
[Type] = kkk
)
[1] = Array
(
[StaffId] = 60
[Wage] = 70
[Name] = king
[Work] = lll
[Type] = ttt
)
[2] = Array
(
[StaffId] = 70
[Wage] = 80
[Name] = quit
[Work] = qqq
[Type] = xxx
)
)
Q3: php怎样数据库行循环生成二维数组并替换其中的值再生成新的二维数组
select *,DATE_FORMAT(add_time,'%Y-%m-%d') as add_date from donku_articles
把sql语句改成上面这种,另外最好不要用fetch_row这种索引方式取值,可以用fetch_assoc这种关联php循环修改数组数据的方式,
另外php循环修改数组数据你的这个 貌似在while里面用不到foreach,,smarty引擎php循环修改数组数据我没用过,按理说它的赋值 应该也不用while一个一个赋值,把$smarty-assign('art_recommend_row',$new_result);这个赋值拿到循环外面(smarty没用过,按照thinkphp yii2 这些框架来说 赋值给模板不需要放在循环里面),php循环修改数组数据我按照php循环修改数组数据我的想法把你的改了一下
include('includes/init.php');
$sql="SELECT *,DATE_FORMAT(add_time,'%Y-%m-%d') as add_date FROM `donku_articles`";
$query=$mysql-query($sql);
$result=[];
while($row=$mysql-fetch_assoc($query)){//这里应该是关联的形式,从你的fetch_row我猜是应该是fetch_assoc
$result[]=$row;
}
//下面是赋值给模板
$smarty-assign('art_recommend_row',$result);
Q4: 如何PHP循环输入数组
1.PHP基本上就是一种数组语言。时常要进行大量php循环修改数组数据的数组循环操作php循环修改数组数据,主要有两种方式php循环修改数组数据,
一种是foreach,另一种是while,
代码如下php循环修改数组数据:
foreach
($array
as
$value)
{
echo
$value;
}
while
(list($key)
=
each($array))
{
echo
$array[$key];
}
foreach
($array
as
$value)
{
echo
$value;
}
while
(list($key)
=
each($array))
{
echo
$array[$key];
}
2.在循环里进行的是数组“写”操作,则while比foreach快php循环修改数组数据:
foreach
($array
as
$key
=
$value)
{
echo
$array[$key]
=
$value
.
'...';
}
while
(list($key)
=
each($array))
{
$array[$key]
=
$array[$key]
.
'...';
}
foreach
($array
as
$key
=
$value)
{
echo
$array[$key]
=
$value
.
'...';
}
while
(list($key)
=
each($array))
{
$array[$key]
=
$array[$key]
.
'...';
}
Q5: php关于数组循环赋值的问题!
下面的语句有错:
$coord[] = 1;
因为是二维数组,不能赋值1,应该修改为:
$coord[$c] = Array();
赋予一个空数组的值
此外你这个代码看起来是C的思路,PHP不是这么搞的,这样写代码就失去了PHP的优势。
关于php循环修改数组数据和php数组循环赋值的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






