echo rps("Rock", "Paper")."\n";
echo rps("Scissor", "Paper")."\n";
echo rps("Paper", "Paper")."\n";
function rps($p1, $p2){
$res= "";
if ($p1==$p2){
$res="It's a draw";
}else if (
($p1=="Paper" && $p2=="Rock")||
($p1=="Rock" && $p2=="Scissor")||
($p1=="Scissor" && $p2=="Paper")
){
$res="Player 1 wins";
}else {
$res="Player 2 wins";
}
return $res;
}
print_r(splitCode("TEWA8392")); // ➞ ["TEWA", 8392]
print_r(splitCode("MMU778")); // ➞ ["MMU", 778]
print_r(splitCode("SRPE5532")); // ➞ ["SRPE", 5532]
function splitCode($code) {
$alpha = $numbers = '';
$len = strlen($code);
for ($i=0; $i<$len; $i++) {
if(!(47 < ord($code[$i])&&ord($code[$i]) < 58)) {
// if(!is_numeric($code[$i])) {
$alpha.=$code[$i];
} else {
$numbers = substr($code, $i);
break;
}
}
return [$alpha, $numbers];
}
//An array is special if every even index contains an even number and every odd index contains an odd number.
var_dump(isSpecialArray([2, 7, 4, 9, 6, 1, 6, 3]));//➞ true
var_dump(isSpecialArray([2, 7, 9, 1, 6, 1, 6, 3]));//➞ false
var_dump(isSpecialArray([2, 7, 8, 8, 6, 1, 6, 3]));//➞ false
function isSpecialArray($array){
foreach($array as $key=>$value){
if($key%2+$value%2==1){
return "Array is not special";
}
}
return "Array is special";
}
echo correctSpacing_1(" my name is Slim Shady ")."\n";
echo correctSpacing_2(" my name is Giovani Giorgio ")."\n";
//Using explode function
function correctSpacing_1($sentence) {
$array = explode(' ', $sentence);
$count = count($array);
for ($i = 0; $i < $count; $i++) {
if (!$array[$i]) {
unset ($array[$i]);
}
}
return implode(' ', $array);
}
//Using while loop
function correctSpacing_2($sentence) {
$sentence = trim($sentence);
while (str_contains($sentence, ' ')) {
$sentence = str_replace(' ', ' ', $sentence);
}
return $sentence;
}
var_dump(isValidHexCode("#CD5C5C")); // ➞ true
var_dump(isValidHexCode("#EAECEE")); // ➞ true
var_dump(isValidHexCode("#eaecee")); // ➞ true
var_dump(isValidHexCode("#CD5C58C")); // ➞ false
// Length exceeds 6
var_dump(isValidHexCode("#CD5C5Z")); // ➞ false
// Not all alphabetic characters in A-F
var_dump(isValidHexCode("#CD5C&C")); // ➞ false
// Contains unacceptable character
var_dump(isValidHexCode("CD5C5C")); // ➞ false
// Missing #
function isValidHexCode($code) {
$allowed = '0123456789abcdef';
$len = strlen($code);
if ($len!=7 || $code[0]!='#') {
return false;
}
for ($i=1; $i<$len; $i++) {
if (!str_contains($allowed, strtolower($code[$i]))) {
return false;
}
}
return true;
}
echo century(1756)."\n";
echo century(1555)."\n";
echo century(1000)."\n";
echo century(1001)."\n";
echo century(2005)."\n";
// Get the Century
function century($year) {
$suf = 'th';
if ($year > 2000) {
$suf = 'st';
}
return ceil($year/100).$suf.' century';
}
print_r(findPrimeNumbers(50));
//Prime numbers are evenly divided by themselves and by one
//Finds first N prime number
function findPrimeNumbers($n){
$num=2;//first prime number is 2
$res=[];
while (0<$n){
$cnt=0;
for ($i=2; $i<=$num; $i++){
if ($num%$i==0){
$cnt++;
}
}
if ($cnt==1){
$res[]=$num;
$n--;
}
$num++;
}
return $res;
}
echo "6 - ".checkNumber(6)."\n\n";
echo "9 - ".checkNumber(9)."\n\n";
echo "12 - ".checkNumber(12)."\n\n";
function checkNumber($num) {
$res = 'Deficient';
if ($num == 1) {
return false;
}
$sqrt = sqrt($num);
$sum = 1;
// Loops starting 2 to the square root of the given number
for ($i = 2; $i <= $sqrt; $i++) {
if ($num%$i == 0) {
$sum += $i;
$result = $num/$i;
// If $i is not equal to the square root,
// then adds it to the $sum variable
if ($result != $i) {
$sum += $result;
}
}
}
if ($sum == $num) {
$res = 'Perfect';
} else if ($sum > $num) {
$res = 'Abundant';
}
return $res;
}
<?php
echo convertKilometersToMiles(56)."\n";
echo convertMilesToKilometers(265.56)."\n";
function convertKilometersToMiles($km){
$mile = 0.621371;
return $km * $mile;
}
function convertMilesToKilometers($miles){
$one_miles = 0.621371;
return $miles * $one_miles;
}
echo libraryFine_3(10, 7, 2015, 7, 7, 2015)."\n\n";
echo libraryFine_3(10, 8, 2015, 5, 3, 2015)."\n\n";
echo libraryFine_3(10, 7, 2017, 5, 7, 2015)."\n\n";
echo libraryFine_3(10, 7, 2017, 10, 7, 2017)."\n\n";
//Using if and else if functions
function libraryFine($d1, $m1, $y1, $d2, $m2, $y2) {
$hacks = 0; //fine unit hackos
$a = $d1-$d2;
$b = $m1-$m2;
$c = $y1-$y2;
if ($a == 0 && $b == 0 && $c == 0) {
$hacks = 0;
} else {
if ($a != 0) {
$hacks = 15*$a;
}if ($b != 0) {
$hacks = 500*$b;
}if ($c != 0) {
$hacks = 10000;
}
return $hacks;
}
} //This is my idea, maybe good, maybe not so
//Using switch function
function libraryFine_2($d1, $m1, $y1, $d2, $m2, $y2) {
$hacks = 0;
$a = $d1-$d2;
$b = $m1-$m2;
$c = $y1-$y2;
switch ($hacks) {
case ($a == 0 && $b == 0 && $c == 0):
$hacks = 0;
break;
case ($a != 0):
$hacks = 15*$a;
break;
case ($b != 0):
$hacks = 500*$b;
break;
case ($c != 0):
$hacks = 10000;
break;
}
return $hacks;
} // doesn't work
// Calculates the fine, if the book is returned late
function libraryFine_3($d1, $m1, $y1, $d2, $m2, $y2) {
$hacks = 0;
// If the book is returned after the calendar
// year, there is a fixed fine of 10,000 Hackos
if ($y1 > $y2) {
$hacks = 10000;
}
// If the book is returned after the expected return
// month but still within the same calendar year
else if ($m1 > $m2 && $y1 == $y2) {
$hacks = 500 * ($m1 - $m2);
}
// If the book is returned after the expected return
// day but still within the same calendar month and year
else if ($d1 > $d2 && $m1 == $m2 && $y1 == $y2) {
$hacks = 15 * ($d1 - $d2);
}
return $hacks;
} //fastets solution