Author Topic: задание элементов массива строкой  (Read 2577 times)

0 Members and 1 Guest are viewing this topic.

algirdas

  • Освоившийся
  • **
  • Posts: 35
    • View Profile
Надо в 7 массивах задать по шесть элементов значений, это 7*6 =42 строк вида $M[0]=a, $M[1]=b,...
Если бы можно было бы присваивать значения строкой в виде $M =[a, b, ...] - хватило бы 7 строк текста.

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Re: задание элементов массива строкой
« Reply #1 on: August 20, 2017, 08:27:19 PM »
Что-же вы все справку ленитесь читать.
Вот это чудо:
Code: (clickermann) [Select]
STRSEPARATE("a:b:c:d:e:f",":",$M)
STRSEPARATE("1:2:3:4:5:6",":",$M1)
STRSEPARATE("a1:b2:c3:d4:e5:f6",":",$M2)
// и т. д.
« Last Edit: August 20, 2017, 08:33:01 PM by open_78 »

algirdas

  • Освоившийся
  • **
  • Posts: 35
    • View Profile
Re: задание элементов массива строкой
« Reply #2 on: August 20, 2017, 09:20:55 PM »
большое спасибо, этот раздел в справке относил только к строкам, массивы не приметил

algirdas

  • Освоившийся
  • **
  • Posts: 35
    • View Profile
Re: задание элементов массива строкой
« Reply #3 on: August 20, 2017, 10:39:13 PM »
Вообще из help не очевидно, что входная строка может быть не только из строковых переменных, но и чисел.
Разбираясь с эти вопросом дошел до ручки: пример из help не работает
$var[0] = 1
$var[1] = 2
$var[2] = 3
$result = 0
for($i, $i < 3)
   $result = $result + $var[ $i+1 ]
end_cyc
print( $result )
// ошибка при интерпретации строки
 $result = $result + $var[ $i+1 ]
весь скрипт взят копированием из help
что может быть ?

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: задание элементов массива строкой
« Reply #4 on: August 20, 2017, 11:15:46 PM »
в справке ошибка. тут подробнее, почитай http://crapware.aidf.org/forum/index.php?topic=3104.msg20718#msg20718

и ты вроде и из справки с ошибкой скопировал, в справке [ $i-1 ], а у тебя плюс. и так и так не правильно  :D

правильный вариант
Code: (clickermann) [Select]
// массив из трех элементов
$var[0] = 1
$var[1] = 2
$var[2] = 3

$result = 0 // накапливаемая сумма

// перебор через цикл элементов массива [0 .. 2]
for($i=0, $i < 3)
  $result = $result + $var[ $i ]
end_cyc

// вывод суммы элементов
print( $result )
halt

algirdas

  • Освоившийся
  • **
  • Posts: 35
    • View Profile
Re: задание элементов массива строкой
« Reply #5 on: August 20, 2017, 11:46:05 PM »
Спасибо, вот и день не зря прожит ...