Anonymous
Выходное значение массива равно нулю при разделении строкового значения с использованием функции implode с помощью вывод
Сообщение
Anonymous » 05 июл 2024, 09:55
Код: Выделить всё
$drstring1 = stristr($drstring, 'DR', false);
//drupal_set_message($drstring1);
$drbrkstring = $drstring1;
$drval = explode('DR', $drbrkstring);
array_shift($drval);
$drdata_array = array();
foreach ($drval as $drv) {
$drdata = process_drstring('DR' . $drv);
$Colarray = array();
foreach ($drdata as $key => $value) {
array_push($Colarray, $key);
print 'key='. $key .'
';
}
$ColNames = implode(',' ,$Colarray);
print 'colunames=' .$ColNames.'
';
function process_drstring($string) {
$result = array();
$tag_text = array(
'DR' => 'segmenttag',
'01' => 'dateofentry',
'02' => 'dispute_remarks1',
'03' => 'dispute_remarks2',
'04' => 'dispute_remarks3',
'05' => 'dispute_remarks4',
'06' => 'dispute_remarks5',
'07' => 'dispute_remarks6',
);
$tag = substr($string, 0, 2);
$length = substr($string, 2, 2);
$data = substr($string, 4, $length);
$result[$tag_text[$tag]] = $data;
$newstring = substr($string, $length + 4, strlen($string));
if ($newstring) {
$newresult = process_drstring($newstring);
$result = array_merge($result, $newresult);
return $result;
}
else {
return $result;
}
}
output:
key=segmenttag
key=
key=dateofentry
key=dispute_remarks2
key=dispute_remarks1
key=dispute_remarks3
key=dispute_remarks4
key=dispute_remarks5
key=dispute_remarks6
colunames=segmenttag,,dateofentry,dispute_remarks2,dispute_remarks1,dispute_remarks3,dispute_remarks4,dispute_remarks5,dispute_remarks6
Из этого function мне нужно получить имена столбцов, но я получаю дополнительный ключевой элемент key=''.
получение дополнительного значения ключа. Key='' он не должен появиться. Пожалуйста, помогите мне решить эту проблему.
Подробнее здесь:
https://stackoverflow.com/questions/361 ... unction-by
1720162533
Anonymous
[code]$drstring1 = stristr($drstring, 'DR', false); //drupal_set_message($drstring1); $drbrkstring = $drstring1; $drval = explode('DR', $drbrkstring); array_shift($drval); $drdata_array = array(); foreach ($drval as $drv) { $drdata = process_drstring('DR' . $drv); $Colarray = array(); foreach ($drdata as $key => $value) { array_push($Colarray, $key); print 'key='. $key .' '; } $ColNames = implode(',' ,$Colarray); print 'colunames=' .$ColNames.' '; function process_drstring($string) { $result = array(); $tag_text = array( 'DR' => 'segmenttag', '01' => 'dateofentry', '02' => 'dispute_remarks1', '03' => 'dispute_remarks2', '04' => 'dispute_remarks3', '05' => 'dispute_remarks4', '06' => 'dispute_remarks5', '07' => 'dispute_remarks6', ); $tag = substr($string, 0, 2); $length = substr($string, 2, 2); $data = substr($string, 4, $length); $result[$tag_text[$tag]] = $data; $newstring = substr($string, $length + 4, strlen($string)); if ($newstring) { $newresult = process_drstring($newstring); $result = array_merge($result, $newresult); return $result; } else { return $result; } } output: key=segmenttag key= key=dateofentry key=dispute_remarks2 key=dispute_remarks1 key=dispute_remarks3 key=dispute_remarks4 key=dispute_remarks5 key=dispute_remarks6 [/code] colunames=segmenttag,,dateofentry,dispute_remarks2,dispute_remarks1,dispute_remarks3,dispute_remarks4,dispute_remarks5,dispute_remarks6 Из этого function мне нужно получить имена столбцов, но я получаю дополнительный ключевой элемент key=''. получение дополнительного значения ключа. Key='' он не должен появиться. Пожалуйста, помогите мне решить эту проблему. Подробнее здесь: [url]https://stackoverflow.com/questions/36124431/array-output-value-is-null-on-separating-string-value-using-implode-function-by[/url]