用逗号插入数组字符串,然后将其分隔
insert in array string with comma, then separate it
几个字段值是类似这样的字符串:
"IDX, CLV1, FLST, MRIS, RCOM, VOW, CLV2, HTA, CYBR, ILAX, HOL"
当我 运行 到 $dataValues = implode(", ", $ArrayValues);
它被逗号分隔时,我需要将该字符串保留为一个值。
这里有更多代码:
foreach($result as $listing){ //loops throught every listing.
$fields = $listing->toArray(); //convert listing fields and values to array
foreach($fields as $field => $value){
$ArrayValues[] = $value; //value being added to array
$ArrayFields[] = $field; //field name being added to array
unset($value);
unset($field);
}
//CREATE THE MYSQL STRING FOR THE VALUES.
$dataValues = implode(", ", $ArrayValues);
unset($ArrayValues);
//CREATE THE MYSQL STRING FOR THE FIELD NAMES
$fieldTitleNames = '`' . implode('`, `', $ArrayFields) . '`';
unset($ArrayFields);
//CONVERTE FIELDS ARRAY TO MYSQL STRING
$fieldTitleNames = '`' . implode('`, `', $ArrayFields) . '`';
unset($ArrayFields);
//CONVERT VALUES ARRAY TO MYSQL STRING
$fieldTitleNames = '`' . implode('`, `', $ArrayFields) . '`';
unset($ArrayFields);
$sql1 = "INSERT INTO ".$table_name." ($fieldTitleNames) VALUES $dataValues)";
}
感谢您的耐心等待。
不要在创建数组后内爆,而是在循环时创建一个字符串
所以
$ArrayValues[] = $value; //value being added to array
变成
$dataValues.= $value.',';
循环内部。
你应该在循环之前初始化字符串 $dataValues
:
$dataValues='';
并在循环后删除最后添加的逗号
$dataValues=rtrim(',',$dataValues);
这避免了在您的情况下使用内爆的副作用
几个字段值是类似这样的字符串:
"IDX, CLV1, FLST, MRIS, RCOM, VOW, CLV2, HTA, CYBR, ILAX, HOL"
当我 运行 到 $dataValues = implode(", ", $ArrayValues);
它被逗号分隔时,我需要将该字符串保留为一个值。
这里有更多代码:
foreach($result as $listing){ //loops throught every listing.
$fields = $listing->toArray(); //convert listing fields and values to array
foreach($fields as $field => $value){
$ArrayValues[] = $value; //value being added to array
$ArrayFields[] = $field; //field name being added to array
unset($value);
unset($field);
}
//CREATE THE MYSQL STRING FOR THE VALUES.
$dataValues = implode(", ", $ArrayValues);
unset($ArrayValues);
//CREATE THE MYSQL STRING FOR THE FIELD NAMES
$fieldTitleNames = '`' . implode('`, `', $ArrayFields) . '`';
unset($ArrayFields);
//CONVERTE FIELDS ARRAY TO MYSQL STRING
$fieldTitleNames = '`' . implode('`, `', $ArrayFields) . '`';
unset($ArrayFields);
//CONVERT VALUES ARRAY TO MYSQL STRING
$fieldTitleNames = '`' . implode('`, `', $ArrayFields) . '`';
unset($ArrayFields);
$sql1 = "INSERT INTO ".$table_name." ($fieldTitleNames) VALUES $dataValues)";
}
感谢您的耐心等待。
不要在创建数组后内爆,而是在循环时创建一个字符串
所以
$ArrayValues[] = $value; //value being added to array
变成
$dataValues.= $value.',';
循环内部。
你应该在循环之前初始化字符串 $dataValues
:
$dataValues='';
并在循环后删除最后添加的逗号
$dataValues=rtrim(',',$dataValues);
这避免了在您的情况下使用内爆的副作用