我正在尝试更改数组中第一个元素的值,该值最初以空白开头,然后根据错误将其设置为“成功”或“假”。
但是这样做的正确方法是什么?我正在尝试的,似乎没有用。
$arr['ERR'] = '';
$arr['ERR'] .= '<i>Error 1</i>,';
$arr['ERR'] .= '<i>Error 2</i>,';
$arr['ERR'] .= '<i>Error 3</i>,';
$arr['ERR'] .= '<i>Error 4</i>,';
$ errors = 1;
$arr['ERR'][0] = ($errors == 0 ? 'Success' : 'There were errors with your data!');
print_r($arr);
print_r给了我:
Array ( [ERR] =>
Fi>Error 1
Error 2
Error 3
Error 4
)
PS:我需要顶部的特定元素。
我希望实现的目标是:
Array ( [ERR] => There were errors with your data,Error 1,Error 2,Error 3,Error 4, )
答案 0 :(得分:0)
您希望通过它的外观连接到错误字符串的开头:
$arr['ERR'] = ($errors == 0 ? 'Success' : 'There were errors with your data, ' . $arr['ERR']);
甩:
数组([错误号] =&gt;您的数据出错,错误1,错误2,错误3,错误4,)
答案 1 :(得分:0)
在第一行初始化$arr['ERR']
变量,其中包含“您的数据存在错误:”
答案 2 :(得分:0)
var_dumping你的代码现在生成这个数组
array(1) { ["ERR"]=> string(60) "Error 1,Error 2,Error 3,Error 4," }
现在正在做的事情不会起作用,因为只有一个数组条目。您可以尝试使用所有条目创建一个数组,然后使用foreach
循环连接所有条目,或者使用array_unshift()
作为数组的前缀。
即
$arr = array('',
'<i>Error 1</i>,',
'<i>Error 2</i>,',
'<i>Error 3</i>,',
'<i>Error 4</i>');
if(error_logic_here) {
array_unshift($arr, "error");
}
会产生:
array(6) { [0]=> string(5) "error" [1]=> string(0) "" [2]=> string(15) "Error 1," [3]=> string(15) "Error 2," [4]=> string(15) "Error 3," [5]=> string(14) "Error 4" }
然后你可以这样连接:
foreach($arr as $value) {
$str .= $value;
}
哪会产生:
string(64) "errorError 1,Error 2,Error 3,Error 4"
答案 3 :(得分:0)
使用此代码:
$arr['ERR'][0]= '<i>Error 1</i>,';
$arr['ERR'][1]= '<i>Error 2</i>,';
$arr['ERR'][2]= '<i>Error 3</i>,';
$arr['ERR'][3]= '<i>Error 4</i>,';
$errors = 1;
$arr['ERR'][0] = ($errors == 0) ?'Success':'There were errors with your data!';
print_r($arr);
答案 4 :(得分:0)
按照您的方法,这可能对您有用:
$errors = 1;
$arr = array();
$arr['ERR'][] = '';
$arr['ERR'][] .= '<i>Error 1</i>,';
$arr['ERR'][] .= '<i>Error 2</i>,';
$arr['ERR'][] .= '<i>Error 3</i>,';
$arr['ERR'][] .= '<i>Error 4</i>,';
$arr['ERR'][0] = ($errors == 0 ? 'Success' : 'There were errors with your data!');
print_r($arr);
希望它能解决你的问题。