 
			
				12.10.2014, 10:59
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 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. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				12.10.2014, 11:32
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Тлен 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 02.01.2010 
					
					
					
						Сообщений: 6,601
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 wadim, проблема в том, что первый индекс у тебя в PHP - "1", чтоб json_encode сделал массив, он должен получать на вход массив, соответственно первый индекс должен быть "0". 
		
	
		
		
		
		
		
			
				__________________ 
				29375, 35 
 
			 
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				12.10.2014, 14:06
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 20.01.2014 
					
					
					
						Сообщений: 150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от Aetae
			 
		
	 | 
 
	| 
		wadim, проблема в том, что первый индекс у тебя в PHP - "1", чтоб json_encode сделал массив, он должен получать на вход массив, соответственно первый индекс должен быть "0".
	 | 
 
	
 
 первый индекс "0" не приемлем для меня, а json_encode у меня не массив получает на входе? Строку? Подскажите решение. Может тогда на клиенте в массив упаковать то что пришло? Может функция есть? Или через реплаке придется делать?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				12.10.2014, 14:50
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Тлен 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 02.01.2010 
					
					
					
						Сообщений: 6,601
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Что значит неприемлем?! ["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.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				12.10.2014, 14:57
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 30.04.2012 
					
					
					
						Сообщений: 3,018
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
for ($i=0; $i<count($DivX2); $i++)
if ($DivX2[$i] == 1) $DivX[] = $DivX2[$i];
  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				12.10.2014, 14:59
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Тлен 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 02.01.2010 
					
					
					
						Сообщений: 6,601
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Ruslan_xDD, ну вот, он теперь скажет: " Aetae - козёл, нифига не помог, а  Ruslan_xDD - молодец". Только сам при этом так нифига и не поймёт, а потом снова спросит.   
		
	
		
		
		
		
		
			
				__________________ 
				29375, 35 
 
			 
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				12.10.2014, 16:35
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 23.10.2010 
					
					
					
						Сообщений: 2,718
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от wadim
			
		
	 | 
 
	| 
		Может функция есть? Или через реплаке придется делать?
	 | 
 
	
 
 Есть такая реплака: array.shift(); и первый станет нулевым. 
 
Чтобы хотеть массив c индекса 1 надо переписать целиком статью  http://en.wikipedia.org/wiki/Zero-based_numbering 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				12.10.2014, 17:28
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Тлен 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 02.01.2010 
					
					
					
						Сообщений: 6,601
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		...или писать на  lua.   
		
	
		
		
		
		
		
			
				__________________ 
				29375, 35 
 
			 
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |