Jump to content

[SOLVED] Function problem


Dizzee15

Recommended Posts

Perhaps my question is stupid, but i'm new to php so here it is :

$number = 5;
function numbers($number2 = 5) {
$answer = $number - $number2;
echo $answer;
}
numbers();

It prints "-5", "$number" is 0,  but I want "$number" to be 5 !! Why function doesn't read variable "$number", because it's outside the function ?

Link to comment
https://forums.phpfreaks.com/topic/148134-solved-function-problem/
Share on other sites

Then the functions is useless for me  >:(. Anyway, here's another question :


$number = 15;
$number2 = 150;

$numbers = array( "$number", "$number", "$number2" ); 
shuffle($numbers);

$number3 = 50;

if ($numbers[0] >= number3) {
  $result = $numbers[0] - $number3;
} else {
shuffle($numbers);
//Do function again until $number >= number2.
}

How to make it do it again if $number < number2 until it will be $number >= number2?

I hope you get what I mean.

In response to your first question, you have to set $number to look for it outside of the function.

 

Do this-

 

global $number;

 

:)

 

And in response to your second question-

 

if($number < $number2)
{
numbers($number);
}

WOW ! Thanks ! This information will be very usefull for me. I know i can always open php manual and read it, but it's hard to find what i need and i know the basics. BTW sorry for my poor english :(.

Ohh ! I did a mistake in my second question, it should be like this :

$number = 15;
$number2 = 150;

$numbers = array( "$number", "$number", "$number2" );
shuffle($numbers);

$number3 = 50;

if ($numbers[0] >= number3) {
  $result = $numbers[0] - $number3;
} else {
   shuffle($numbers);
   //Do it again until $number[0] >= number3.
}

How it should be now ?  ???

Hi

 

Put he shuffle inside a while loop

 

$number = 15;
$number2 = 150;

$numbers = array( "$number", "$number", "$number2" );
shuffle($numbers);

$number3 = 50;

if ($numbers[0] >= number3) 
{
  $result = $numbers[0] - $number3;
} 
else 
{
while ($number[0] < $number3)
{
	shuffle($numbers);
}
}

 

All the best

 

Keith

Here's another problem :

$number = 15;
$number2 = 150;

$numbers = array( "$number", "$number2" );
shuffle($numbers);

$number3 = 50;

if ($numbers[0] >= $number3)
{
  $result = $numbers[0] - $number3;
  echo "$result";
}
else
{
   while ($numbers[0] < $number3)
   {
      shuffle($numbers);
   }
}

It prints 100 if $numbers[0] is 150 first time, but if $numbers[0] is 15, then it don't print anything :(.

Hi

 

As it stands there is nothing in there to print anything out if it does a shuffle.

 

$number = 15;
$number2 = 150;

$numbers = array( "$number", "$number2" );
shuffle($numbers);

$number3 = 50;

if ($numbers[0] >= $number3)
{
  $result = $numbers[0] - $number3;
  echo "$result";
}
else
{
   while ($numbers[0] < $number3)
   {
      shuffle($numbers);
   }
  $result = $numbers[0] - $number3;
  echo "$result";
}

 

All the best

 

Keith

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.