Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.10.2014, 10:59
Профессор
Отправить личное сообщение для wadim Посмотреть профиль Найти все сообщения от wadim
 
Регистрация: 20.01.2014
Сообщений: 150

Как модернизировать код.
Всем привет!

есть код:

<?

$DivX2[0]=0;
$DivX2[1]=1;
$DivX2[2]=1;

for ($i=0; $i<count($DivX2); $i++)
if ($DivX2[$i]==1) $DivX[$i]=$DivX2[$i];


echo json_encode($DivX);
?>

на клиенте получаем: {"1":1,"2":1}
а надо ["1","1"]
{"1":1,"2":1} - это строка, скажите?
код должен быть максимально похож на мой, обязательно вывод через json_encode, эти строки тоже сохраняем:
for ($i=0; $i<count($DivX2); $i++)
if ($DivX2[$i]==1) $DivX[$i]=$DivX2[$i];

на выходе мне нужен массив обязательно в квадратных скобках, без видимых ключей, только значения: 1 и 1.
Ответить с цитированием
  #2 (permalink)  
Старый 12.10.2014, 11:32
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

wadim, проблема в том, что первый индекс у тебя в PHP - "1", чтоб json_encode сделал массив, он должен получать на вход массив, соответственно первый индекс должен быть "0".
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 12.10.2014, 14:06
Профессор
Отправить личное сообщение для wadim Посмотреть профиль Найти все сообщения от wadim
 
Регистрация: 20.01.2014
Сообщений: 150

Сообщение от Aetae Посмотреть сообщение
wadim, проблема в том, что первый индекс у тебя в PHP - "1", чтоб json_encode сделал массив, он должен получать на вход массив, соответственно первый индекс должен быть "0".
первый индекс "0" не приемлем для меня, а json_encode у меня не массив получает на входе? Строку? Подскажите решение. Может тогда на клиенте в массив упаковать то что пришло? Может функция есть? Или через реплаке придется делать?
Ответить с цитированием
  #4 (permalink)  
Старый 12.10.2014, 14:50
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

Что значит неприемлем?!
Цитата:
а надо ["1","1"]
["1","1"] - это(опуская детали) то же самое что {"0": "1", "1": "1"}.

$DivX у тебя в php это:
array(
    1  => 1,
    2  => 1,
)
соответственно на выходе из json_encode($DivX) получаем {"1":1,"2":1}.
Если хочешь получить на выходе [1, 1] то и на вход подавть ты должен
array(
    0  => 1,
    1  => 1,
)
Нумерация в массивах начинается с нуля.
__________________
29375, 35

Последний раз редактировалось Aetae, 12.10.2014 в 14:56.
Ответить с цитированием
  #5 (permalink)  
Старый 12.10.2014, 14:57
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

for ($i=0; $i<count($DivX2); $i++)
if ($DivX2[$i] == 1) $DivX[] = $DivX2[$i];
Ответить с цитированием
  #6 (permalink)  
Старый 12.10.2014, 14:59
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

Ruslan_xDD, ну вот, он теперь скажет: "Aetae - козёл, нифига не помог, а Ruslan_xDD - молодец". Только сам при этом так нифига и не поймёт, а потом снова спросит.
__________________
29375, 35
Ответить с цитированием
  #7 (permalink)  
Старый 12.10.2014, 16:35
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Сообщение от wadim
Может функция есть? Или через реплаке придется делать?
Есть такая реплака: array.shift(); и первый станет нулевым.

Чтобы хотеть массив c индекса 1 надо переписать целиком статью http://en.wikipedia.org/wiki/Zero-based_numbering
Ответить с цитированием
  #8 (permalink)  
Старый 12.10.2014, 17:28
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

Сообщение от kostyanet Посмотреть сообщение
Чтобы хотеть массив c индекса 1 надо переписать целиком статью http://en.wikipedia.org/wiki/Zero-based_numbering
...или писать на lua.
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объясните как работает код wolf_ Ваши сайты и скрипты 0 06.08.2014 23:24
Как вызвать свою функцию из «чужого» кода в Java Script, не переписывая «чужой» код? korobochkin Библиотеки/Тулкиты/Фреймворки 2 19.07.2014 16:17
Как можно улучшить такой код? Reiter Общие вопросы Javascript 0 06.11.2012 16:19
javascript обфускатор или как правильно скрыть код syegorius Общие вопросы Javascript 1 19.09.2012 02:58
Подскажите код как создать эффект... lopraeph Элементы интерфейса 1 09.06.2011 20:18