Что нового

[Массивы] Вывод строки двухмерного массива с разделителем _ArrayToStringEx

IIuOHeP

Новичок
Сообщения
21
Репутация
2
Необходимо было произвести вывод строки многомерного массива используя разделитель для последующего ввода данных в MySQL.
Увидел пример "Kalisnik" в теме http://autoit-script.ru/index.php/topic,2740.msg19841.html#msg19841 (немного не то что мне нужно было)
Написал функцию _ArrayToStringEx с возможностью построчного вывода информации из многомерного массива и созданием единой строки из элементов массива.
Код:
Dim $Array[3][5] = [["Peta","Slava","Вася", 6, 4],["Ivan", 2, 3,"Data", 6],["AAA", 7,"TT", 6, 8]]

$sResult = _ArrayToStringEx($Array,"','",1)
ConsoleWrite($sResult & @CRLF)

Func _ArrayToStringEx($mArray, $Separator = " ", $NString = -1) ;(Массив, Разделитель, Номер строки массива | Все строки -1 )

	If Not IsArray($mArray) Then Return SetError(1)
	If $NString > UBound($mArray, 1) - 1 Then Return SetError(2)
	If UBound($mArray,0) <> 2 Then Return SetError(3)
	Local $Result = ""

	If $NString = -1 Then
		For $CIndex = 0 To UBound($mArray, 1) - 1 Step 1
			For $SIndex = 0 To UBound($mArray, 2) - 1 Step 1
				$Result = $Result & $mArray[$CIndex][$SIndex] & $Separator
			Next
		Next
		Return StringTrimRight($Result, StringLen($Separator))

	Else
		For $SIndex = 0 To UBound($mArray, 2) - 1 Step 1
			$Result = $Result & $mArray[$NString][$SIndex] & $Separator
		Next
		Return StringTrimRight($Result, StringLen($Separator))
	EndIf

EndFunc   ;==>_ArrayToStringEx
 
Верх