Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   [PHP] ЗАДАНИЯ от Krist_ALL (https://forum.antichat.xyz/showthread.php?t=126194)

Extremal 22.06.2009 23:32

Задание 018
Есть 2 переменные a = 5 И b =7. Нужно чтобы $a =7 а $b = 5 , при этом не создавая новых переменных.
PHP код:

<?php
$a 
5;
$b 7;
$a $a $b;
$b $a $b;
$a $a $b
echo 
"a = ".$a."<br>";    
echo 
"b = ".$b;
?>

ЗАДАНИЕ 019
$array = array(5,8,9,15,145,854,64,1,3,8,46,9999);
Определить максимальное число, которое находится в массиве, и вывести его индекс.
PHP код:

<?php
$array 
= array(5,8,9,15,145,854,64,1,3,8,46,9999,46);
$max =  max($array);
$index array_search($max $array);
echo 
$max."<br>".$index;
?>


Krist_ALL 22.06.2009 23:39

верно! молодец

Doom123 22.06.2009 23:52

ЗАДАНИЕ 017 мне кажется или я намудрил? :D

PHP код:

<?php

$a 
'qwe qqqq qqqw w zed ed';
$arr explode(' ',$a);


$str array_shift($arr);

foreach(
$arr as $k => $v)
{
    
$string explode(' ',$a,$k+2);
    
array_pop($string);
    
    if(
strripos(implode(' ',$string),$v) === false)
    {
        
$str .= " ".$v;
    } else {
        
$str .= " <b>".$v."</b>";
    }
}

echo 
$str;

?>


Krist_ALL 23.06.2009 00:24

Брр. Ну и код. Черт голову сломит! Все гораздо проще. Через регулярку.

Extremal 23.06.2009 01:26

ЗАДАНИЕ 016 от d_x
PHP код:

<?php  
$arr
=Array(
Array(
'key1'=> 1'key2'=>3),
Array(
'key1'=> 8'key2'=>4),
Array(
'key1'=> 5'key2'=>6),
Array(
'key1'=> 5'key2'=>8),
Array(
'key1'=> 6'key2'=>9),
Array(
'key1'=> 3'key2'=>7),
Array(
'key1'=> 5'key2'=>1),
Array(
'key1'=> 2'key2'=>2),
Array(
'key1'=> 0'key2'=>0),
Array(
'key1'=> 2'key2'=>5)
);

foreach (
$arr as $i => $row
{
    
$key1[$i] = $row['key1'];
    
$key2[$i] = $row['key2'];
}
array_multisort($key1SORT_ASC
                
$key2SORT_DESC$arr);
for(
$i=0;$i<=count($arr);$i++){
    echo 
$arr[$i][key1].":";
    echo 
$arr[$i][key2]."<br>";
}
?>

Долго голову ломал над этим заданием :)

d_x 23.06.2009 01:42

Все правильно, только я просил функцию и говорил, что ключей у массивов может быть сколько угодно.
Вот более универсальное решение:
PHP код:

<?php
$arr
=Array(
Array(
'key1'=> 1'key2'=>3),
Array(
'key1'=> 8'key2'=>4),
Array(
'key1'=> 5'key2'=>6),
Array(
'key1'=> 5'key2'=>8),
Array(
'key1'=> 6'key2'=>9),
Array(
'key1'=> 3'key2'=>7),
Array(
'key1'=> 5'key2'=>1),
Array(
'key1'=> 2'key2'=>2),
Array(
'key1'=> 0'key2'=>0),
Array(
'key1'=> 2'key2'=>5)
); 

$order=Array('key1'=>'asc''key2' => 'desc');
usort($arr'mysort');
print_r($arr);


function 
mysort($a,$b)
{
  global 
$order;

  
$result=0;

  foreach(
$order as $key=>$value)
  {
    if(
$a[$key]==$b[$key])
      continue;

    
$result=$a[$key]<$b[$key] ? -1;
    if(
$value=='desc'$result=-$result;

    break;
  }

  return 
$result;
}
?>


LEE_ROY 23.06.2009 01:57

Цитата:

Сообщение от Extremal
ЗАДАНИЕ 016 от d_x

мое пьяное решение )
PHP код:

<?php

$arr
=Array(
            Array(
'key1'=> 1'key2'=>3),
            Array(
'key1'=> 8'key2'=>4),
            Array(
'key1'=> 5'key2'=>6),
            Array(
'key1'=> 5'key2'=>8),
            Array(
'key1'=> 6'key2'=>9),
            Array(
'key1'=> 3'key2'=>7),
            Array(
'key1'=> 5'key2'=>1),
            Array(
'key1'=> 2'key2'=>2),
            Array(
'key1'=> 0'key2'=>0),
            Array(
'key1'=> 2'key2'=>5)
            );

function 
cmp$first$second )
{
    if (
$first $second)    {
        return -
1;
    }
    else {
        return 
1;
    }
}

usort($arr'cmp');
print_r($arr);

?>

исправил, теперь усе работает )

d_x 23.06.2009 02:04

Цитата:

мое пьяное решение )
LEE_ROY, задание уже сделали, да и я написал ответ.
Твое решение неверное, сравнил бы вывод как должно быть и как у тебя)

LEE_ROY 23.06.2009 02:06

Цитата:

Сообщение от d_x
LEE_ROY, задание уже сделали, да и я написал ответ.
Твое решение неверное, сравнил бы вывод как должно быть и как у тебя)

сори, на один глаз невижу ужо :D

Pashkela 23.06.2009 02:40

Цитата:

Сообщение от Extremal
Задание 018
Есть 2 переменные a = 5 И b =7. Нужно чтобы $a =7 а $b = 5 , при этом не создавая новых переменных.

PHP код:

<?php
// Исходные
$a 5;
$b 7;
// Решение
$a 7;
$b 5;
?>



Время: 21:54