我有这个代码:
$a = array ('zero','one','two', 'three');
foreach ($a as &$v) {
}
foreach ($a as $v) {
echo $v.PHP_EOL;
}
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么输出是:零一二二.
来自zend认证学习指南.
我是多维数组中的新手,这让我很烦恼.
我的数组如下:
$fields = array(
"names" => array(
"type" => "text",
"class" => "name",
"name" => "name",
"text_before" => "name",
"value" => "",
"required" => true,
)
)
Run Code Online (Sandbox Code Playgroud)
然后我得到一个函数检查是否填写了这些输入,如果需要的话.
function checkForm($fields){
foreach($fields as $field){
if($field['required'] && strlen($_POST[$field['name']]) <= 0){
$fields[$field]['value'] = "Some error";
}
}
return $fields;
}
Run Code Online (Sandbox Code Playgroud)
现在我的问题是这一行
$fields[$field]['value'] = "Some error";
Run Code Online (Sandbox Code Playgroud)
我想更改原始数组的内容,因为我正在返回它,但是如何在foreach循环中获取当前数组的名称(本例中的名称)?
如果你有一个类似下面的foreach循环,我知道你可以通过改变数组的当前元素$array[$key],但是还有一种方法可以改变它$value吗?
foreach($array as $key => $value){
}
Run Code Online (Sandbox Code Playgroud)
它可能非常简单,但我对PHP很新,所以请不要被我的问题烦恼:)
所以我有这个foreach循环 - 我想根据我对值的修改来修改数组.但是,当我尝试稍后将$ bizaddarray转换为字符串时,所有HTML标记仍然存在.这是我的foreach循环 - 如何使条带标签永久化?
foreach ($bizaddarray as $value) {
strip_tags(ucwords(strtolower($value)));
}
Run Code Online (Sandbox Code Playgroud) 我已经对此进行了研究,但是找到的答案并没有解决我的问题。我想将所有用户名项更改为 'kk',但之后打印数组显示没有任何更改。可能有什么问题?
<?php
$myArray = Array(
0 => Array(
'sender' => kk,
'message' => hhiui,
'timestamp' => '2017-02-04 10:04:57',
'username' => '',
'msgtype' => 0,
'threadid' => 20737047302042017230457
) ,
1 => Array(
'sender' => kk,
'message' => hhiui,
'timestamp' => '2017-02-04 10:04:57',
'username' => '',
'msgtype' => 0,
'threadid' => 20737047302042017230457
) ,
2 => Array(
'sender' => kk,
'message' => hhiui,
'timestamp' => '2017-02-04 10:04:57',
'username' => '',
'msgtype' => '16',
'threadid' => 20737047302042017230457
)
);
foreach($myArray as …Run Code Online (Sandbox Code Playgroud) 我正在尝试在数组中添加一个字段并返回它,但据说var_dump,没有对数组进行任何更改.执行if块中的指令,数据似乎正确.
function addLength($toAdd, $added){
$result = $toAdd;
foreach ($result as $row) {
foreach ($added as $key => $value) {
if($key == $row['id'] ){
$row['length'] = $value;
}
}
}
var_dump($result);
return $result;
}
Run Code Online (Sandbox Code Playgroud) 我正在使用 PHP ,我有一个数组,我正在根据某些条件更新数组内的值,它出现在 if 块内,但该值没有更新,您能给我一些建议吗?我错过了什么吗..?
$data['bookslist'] 的转储
Array
(
[0] => Array
(
[id] => 22
[book_name] => tank1
[book_type] => 1
[status] => 1
)
[1] => Array
(
[id] => 23
[book_name] => g1
[book_type] => 2
[status] => 1
)
)
Run Code Online (Sandbox Code Playgroud)
代码
foreach($data['bookslist'] as $value){
if(array_key_exists('book_type',$value)){
if($value['book_type'] == '1'){
$data['bookslist'][$value]['book_type'] = 'Horror';
break;
}
if($value['book_type'] == '2'){
$value['book_type'][$value]['book_type']= 'Comedy';
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)