Hello Everyone我是PHP的新手。我在php中进行服务器端验证。合并阵列时我遇到了问题。这是我的代码
我有3个功能
$pfmt_input_group = $pfmt_job["pfmt_input_group"];
$pfmt_input_group = (array)$pfmt_input_group;
$group_array = $this->validate_pfmt_input_group($pfmt_input_group,$validate_array);
此函数在内部调用pfmt_input_group_function
public function validate_pfmt_input_group($ pfmt_input_group,$ validate_array)
{
$ pfmt_input_group_array = array();
if(!empty($pfmt_input_group))
{
$inputs = $pfmt_input_group['inputs'];
$job_validate_num_input = $this->validate_number($pfmt_input_group["num_input"],explode(",",$validate_array[15]));
if($job_validate_num_input == "invalid")
{
array_push($pfmt_input_group_array, "Num_input value must be an integer");
}
$pfmt_input_validator_array = array();
$num_input = $pfmt_input_group["num_input"];
for ($input=0; $input < $num_input; $input++)
{
$pfmt_inputs = $pfmt_input_group["inputs"][$input];
$pfmt_inputs = (array) $pfmt_inputs;
$pfmt_input = $pfmt_inputs["pfmt_input"];
$pfmt_input = (array) $pfmt_input;
$pfmt_input_validator_array = $this->validate_pfmt_input($pfmt_input,$validate_array);
}
$pfmt_input_group_array_result = array_merge((array)$pfmt_input_group_array,(array)$pfmt_input_validator_array);
}
return $pfmt_input_group_array_result;
}
这内部调用另一个函数
public function validate_pfmt_input($pfmt_input,$validate_array)
{
$pfmt_input_array = array();
if(!empty($pfmt_input))
{
$job_validate_num_track = $this->validate_number($pfmt_input["num_track"],explode(",",$validate_array[18]));
if($job_validate_num_track == "invalid")
{
array_push($pfmt_input_array, "Num_track value must be an integer");
}
$job_validate_track_name = $this->validate_empty($pfmt_input["track_name"],explode(",",$validate_array[62]));
if($job_validate_track_name == "blank")
{
array_push($pfmt_input_array, "Track_Name should not be empty");
}
$job_validate_num_stream = $this->validate_number($pfmt_input["num_stream"],explode(",",$validate_array[326]));
if($job_validate_num_stream == "invalid")
{
array_push($pfmt_input_array, "Num_stream value must be an integer");
}
$pfmt_input_stream_validator_array = array();
$streamer = $pfmt_input["num_stream"];
for ($stream=0; $stream < $streamer ; $stream++)
{
$pfmt_stream = $pfmt_input["streamer"][$stream];
$pfmt_stream = (array) $pfmt_stream;
$pfmt_input_stream = $pfmt_stream["pfmt_input_stream"];
$pfmt_input_stream = (array) $pfmt_input_stream;
$pfmt_input_stream_validator_array = $this->validate_pfmt_input_stream($pfmt_input_stream,$validate_array);
}
$pfmt_input_array_result = array_merge((array)$pfmt_input_array,(array)$pfmt_input_stream_validator_array);
}
return $pfmt_input_array_result;
}
这是它如何遵循所以我需要一个单一的数组,它包含所有内部错误消息我试图合并所有数组但我无法得到结果 请帮我找到这个
答案 0 :(得分:0)
$pfmt_input_array_result = array_merge_recursive($pfmt_input_array,$pfmt_input_stream_validator_array);
使用此功能。