K
Kauperwood
Маленький вопрос, подскажите пожалуйста как найти все числа оканчивающиеся N числом? Например найти среди 1000 чисел все числа оканчивающиеся на 2.
Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе
$data = array(4124517,12347,124124,1241247); // массив с числами
$N = "7"; // каким должен быть последний символ
foreach ($data as $datas){
$lastrow = strlen($datas) - 1;
if (substr($datas, $lastrow, 1) == $N)
{$arr[] = $datas;}}
print_r($arr);
$data = array(123214124124517,12347,124124,1241247); // массив с числами
$N = "7"; // каким должен быть последний символ
foreach ($data as $datas)
{
if(preg_match("|".$N."$|i", $datas))
$arr[]=$datas;
}
print_r($arr);
$data = array(4124517,12347,124124,1241247); // массив с числами
$N = "7"; // каким должен быть последний символ
foreach ($data as $s)
{
if ($N == $s[strlen($s)-1])
echo $s . "<br />";
}
$data = array(4124517,12347,124124,1241247); // массив с числами
$N = "7"; // каким должен быть последний символ
foreach ($data as $x)
{
if (substr($x,strlen($x)-1,1) == $N)
print $x . "\r\n";
}
$N = 7;
for ($number=1; $number<=1000; ++$number) {
if ($number%10==$N) {
echo $number.' ';
}
}
for ($method=1; $method<=5; ++$method) {
$N = 7;
$results = array();
if ($method==1) {
$start_time = microtime(true);
for ($number=1; $number<=1000000; ++$number) {
if ($number%10==$N) {
$results[] = $number;
}
}
$end_time = microtime(true);
} elseif ($method==2) {
$start_time = microtime(true);
for ($number=1; $number<=1000000; ++$number) {
if ($N == $number[strlen($number)-1]) {
$results[] = $number;
}
}
$end_time = microtime(true);
} elseif ($method==3) {
$start_time = microtime(true);
for ($number=1; $number<=1000000; ++$number) {
if (substr($number,strlen($number)-1,1) == $N) {
$results[] = $number;
}
}
$end_time = microtime(true);
} elseif ($method==4) {
$start_time = microtime(true);
for ($number=1; $number<=1000000; ++$number) {
if(preg_match("|".$N."$|i", $number)) {
$results[] = $number;
}
}
$end_time = microtime(true);
} elseif ($method==5) {
$start_time = microtime(true);
for ($number=1; $number<=1000000; ++$number) {
$lastrow = strlen($number) - 1;
if (substr($number, $lastrow, 1) == $N) {
$results[] = $number;
}
}
$end_time = microtime(true);
}
$passes_time = $end_time-$start_time;
echo 'METHOD '.$method.', PASSED: '.$passes_time.'<br/>';
}
в корне неверно привязываться к типам в PHP решая универскую задачу. :mellow:Хмм.. это называется "Крюто"? По-моему в корне неверно решать числовую задачу через строки.
$number = 100000000000000;
echo substr($number,strlen($number)-1,1);
не смешите меня... в вашем случаеА выведет он "4"! Т.к. указанное выше число будет представлено как "1.0E+14"
$number = 100000000000000;
echo $number % 10;
$countered ="logs/count.txt";
if (!is_file($countered))
{
die("<b>404 File not found!</b>");
}
$lines =fopen("logs/count.txt", "r");
$nado =fread($lines,filesize($countered));
$data =array($nado, 526263);
$N = "3";
foreach ($data as $x)
{
if (substr($x,strlen($x)-1,1) == $N){
print $x . "человека". "\r\n";}
else
print $x . "человек". "\r\n";
}
Обучение наступательной кибербезопасности в игровой форме. Начать игру!