Помогите с массивом и числом

Печать RSS
373


Ктулху
0
<?
$kod[]=mt_rand(0,9); 
$kod[]=mt_rand(0,9); 
$kod[]=mt_rand(0,9); 
$kod[]=mt_rand(0,9); 
$press_kod[] = "ноль"; 
$press_kod[] = "один"; 
$press_kod[] = "два"; 
$press_kod[] = "три"; 
$press_kod[] = "четыре"; 
$press_kod[] = "пять"; 
$press_kod[] = "шесть"; 
$press_kod[] = "семь"; 
$press_kod[] = "восемь"; 
$press_kod[] = "девять";
#echo implode($kod);
for($i=0; $i<strlen(implode($kod)); $i++) {
	$kod[$i]=str_replace($kod[$i], $press_kod[$kod[$i]], $kod[$i]);
}
echo "<small>*Защитный код: <b>".implode(' ', $kod)."</b></small><br/>\n";
?>
Немного быдлокодский способ, но в 8 часов утра только это пришло в голову
А

Оранжевые штаны
0
<?php
$press_kod=mt_rand(100,999);
$press_kod .= " ";
$aStr[] = "ноль";  
$aStr[] = "один";  
$aStr[] = "два";  
$aStr[] = "три" ;  
$aStr[] = "четыре";  
$aStr[] = "пять";  
$aStr[] = "шесть";  
$aStr[] = "семь";  
$aStr[] = "восемь";  
$aStr[] = "девять"; 
for ($i=0, $sRes = ""; $i<3; $i++){ 
  $sRes .= $aStr[$press_kod[$i]].' '; 
}
echo "<small>*Защитный код: <b>".$sRes."</b></small><br/>\n";
?>
На Денвере работает
Изменил: Артур (02.02.2010 / 06:03)
А

Оранжевые штаны
0
11. ShiftBHT, О.о сстрашнооо
T
Автор
Пришелец
0
башка и у меня на денвере заработалоsmile щас проверю дальше его
T
Автор
Пришелец
0
Заипись пасиба Башка smile
А

Оранжевые штаны
0
Да незашо, правда не доволен я этим кодом, не знаю почему
T
Автор
Пришелец
0
наверно потому шо массив
$aStr[] = "ноль";   
$aStr[] = "один";   
$aStr[] = "два";   
$aStr[] = "три" ;   
$aStr[] = "четыре";   
$aStr[] = "пять"; 
а не
$aStr array(1=>"один", 2=>"два", 3=>"три" и тд);
D
А

Оранжевые штаны
0
Нее.. smile Я про размер кода не говорю. Просто если известны номера ячеек массива символов, то как то не очень хочетя гонять по нему в цикле, в голове сидит что то вроде:
$sRes = aStr[$press_kod[0]].' '.aStr[$press_kod[1]].' '.aStr[$press_kod[2]];
Хотя по сути это одно и то же, только без объявления переменной $i, трех условий $i<3 и трех инкриментов $i++ но зато с плохочитаемым кодом.
Ну либо то, либо это:
<?php 
$press_kod=mt_rand(100,999); 
$press_kod .= " "; 
$aStr[] = "ноль";  
$aStr[] = "один";   
$aStr[] = "два";  
$aStr[] = "три" ;   
$aStr[] = "четыре";  
$aStr[] = "пять";   
$aStr[] = "шесть";  
$aStr[] = "семь";   
$aStr[] = "восемь"; 
$aStr[] = "девять";  
$sRes = aStr[$press_kod[0]].' '.aStr[$press_kod[1]].' '.aStr[$press_kod[2]]; 
echo "<small>*Защитный код: <b>".$sRes."</b></small><br/>\n"; 
?>
Изменил: Артур (02.02.2010 / 06:18)
T
Автор
Пришелец
0
хм все кажется простым, можна было сообразить, единственно мне не понятно зачем там $press_kod .= " ";
T
Автор
Пришелец
0
хотя этот второй код выбивает синтаксис на мою ни в чем не повинную скобочку }
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск