<?php
print_r(removeDuplicate_1([2,4,7,5,7,4,1]))."\n";
print_r(removeDuplicate_1([3,5,0,0,1,2,6,6]))."\n";
//Using array_unique function
function removeDuplicate_1($nums){
	return array_unique($nums);
}
function removeDuplicates_2($nums){
	$nums=[];
	foreach ($nums as $num){
		if (!in_array($num,$result)){
			$result[]=$num;
		}
	}
	return $result;
}print_r(fizzBuzz_2(35));
function fizzBuzz_1($n){
	$result = [];
	for ($i = 1; $i <= $n; $i++) {
		$output = "";
		if ($i%3 == 0 && $i%5 == 0) {
			$output = "FizzBuzz";
		}if ($i%3 == 0) {
			$output = "Fizz";
		}if ($i%5 == 0) {
			$output = "Buzz";
		}if (!$output) {
			$output = $i;
		}
		$result[] = $output;
	}
}
// The solution is faster
function fizzBuzz_2($n) {
    $result = [];
    for ($i = 1;  $i <= $n;  $i++) {
        if ($i%15 == 0) {
            $output = "FizzBuzz";
        } else if ($i%3 == 0) {
            $output = "Fizz";
        } else if ($i%5 == 0) {
            $output = "Buzz";
        } else {
            $output = "$i";
        }
        $result[] = $output;
    }
    return $result;
}SimpleXMLElement converts array to XML
$test_array = array (
  'bla' => 'blub',
  'foo' => 'bar',
  'another_array' => array (
    'stack' => 'overflow',
  ),
);
$xml = new SimpleXMLElement('<rootTag/>');
to_xml($xml, $test_array);
print $xml->asXML();
function to_xml(SimpleXMLElement $object, array $data)
{   
    foreach ($data as $key => $value) {
        if (is_array($value)) {
            $new_object = $object->addChild($key);
            to_xml($new_object, $value);
        } else {
            // if the key is an integer, it needs text with it to actually work.
            if ($key != 0 && $key == (int) $key) {
                $key = "key_$key";
            }
            $object->addChild($key, $value);
        }   
    }   
}echo isIsogram("Password")."\n";
echo isIsogram_2("Tkemaladze")."\n";
//Using isset function
function isIsogram($str){
	$str=strtolower($str);//turn to lower case
	$len=strlen($str);//count lenght of word array
	$array=[];//create new array
	for ($i=0; $i<$len; $i++){
		if (!isset($array[$str[$i]])){
			$array[$str[$i]]=true;
		}else{
			return false;
		}
	}
	return true;
}
//usinf in-array function
function isIsogram_2($str){
	$str=strtolower($str);//turn to lower case
	$len=strlen($str);//count lenght of word array
	$array=[];//create new array
	for ($i=0; $i<$len; $i++){
		if (in_array($str[$i], $array)){
			return true;
		}else{
			$array[]=$str[$i];
		}
	}
	return true;
}echo utopianTree(5)."\n";
//Using for loops
function utopianTree($n) {
	$val = 1;
	for ($i = 0; $i < $n; $i++) {
		if ($i%2 == 0) {
			//doubled for each odd year
			$val *= 2;
		} else {
			//increased by one for each even year
			$val++;
		}
	}
	return $val;
}echo timeInWords(5, 45)."\n";
echo timeInWords(3, 00)."\n";
echo timeInWords(7, 15)."\n";
echo timeInWords(6, 30)."\n";
echo timeInWords(2, 50)."\n";
echo timeInWords(8, 01)."\n";
echo timeInWords(9, 59)."\n";
//Using else if function
function timeInWords($h, $m) {
	$res = (" ");
	if ($m == 00) {
		$res = $h . " o'clock";
	} else if ($m == 30) {
		$res = "Half past " . $h;
	} else if ($m == 15) {
		$res = "Quarter past " . $h;
	} else if ($m == 45) {
		$res = "Quarter to " . $h + 1;
	} else if ($m < 30) {
		$res = $m . " minutes  past " . $h;
	} else {
		$res = 60 - $m . " minutes  to " . $h + 1;
	}
	return $res;
}
//Using switch function
function timeInWords_2($h, $m) {
	$res = (' ');
	switch ($m) {
		case '00';
			$res = $h . " o'clock";
			break;
		case '30';
			$res = "Half past " . $h;
			break;
		case '45';
			$res = "Quarter to " . $h + 1;
			break;
		case '15';
			$res = "Quarter past " . $h;
			break;
		case $m < 30;
			$res = $m . " minutes  past " . $h;
			break;
		case $m > 30;
			$res = 60 - $m . " minutes  to " . $h + 1;
			break;
	}
	return $res;
}
//Both work, second solution is mineecho viralAdvertising(5)."\n\n";
echo viralAdvertising(10);
/*
Day Shared Liked Cumulative
1      5     2       2
2      6     3       5
3      9     4       9
4     12     6      15
5     18     9      24
*/
// Determines how many people have liked
// the ad by the end of a given day
function viralAdvertising($n) {
	$liked = 2;
	$shared = 0;
	$cumulative = 2;
	
	//Looping through the days
	for ($i = 2; $i <= $n; $i++) {
		$shared = $liked*3;
		$liked = floor($shared/2);
		$cumulative += $liked;
	}
	return $cumulative;
}plusMinus([-3, -5, 6, 7, 0, 0, 2, 4, -5, 3]);
//plusMinus([2 ,1,0, 0, 0, -6 ,-4, 10, 3, -7])."\n\n";
//plusMinus([1, 2, -6, -3, 8, 0 , 0, 1,-9, 4])."\n\n";
//calculate a ratio of positive, negative and 0 numbers in array
function plusMinus($arr){
	$r=[0,0,0];
	
	foreach ($arr as $item){
		if ($item>0){
			$r[0]++;
		}else if ($item<0){
			$r[1]++;
		}else{
			$r[2]++;
		}
	}
	//number of items in entire array
	$s = count($arr);
    // Calculates each ratio and rounds the result to 6 digits
    $res = [round($r[0]/$s, 6), round($r[1]/$s, 6), round($r[2]/$s, 6)];
    
    echo $res[0] . "\n";
    echo $res[1] . "\n";
    echo $res[2] . "\n";
	
}echo repeatedString("mango", 10);
function repeatedString($string, $number) {
	$ltr = 'a'; //letter function
	$strl = strlen($string);
	$res = substr_count($string, $ltr)*floor($number/$strl);
	$res += substr_count(substr($string, 0, $number%$strl), $ltr);
}
return $res;