Solved

# [PHP] Select variable closest to 0? show me

Posted on 2004-09-28
342 Views
Last Modified: 2010-04-17
I have some code which contains two variables.

How can I check which one is closest to 0? My variables can be negative and positive hence why i need it to be 0 and work whatever the number is.

Could you show me an example of the code.
thanks
0
Question by:georgecooldude
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• Learn & ask questions
• 3
• 3
• 2
8 Comments

LVL 4

Accepted Solution

DaveyEss earned 20 total points
ID: 12167676
You need to use the abs function in php

The following code gives an example of what to do.

<?php
\$val1 = 7;
\$val2 = -5;

echo "closer to zero ";

if (abs(\$val1) > abs(\$val2)) {
echo \$val2;
}
else {
echo \$val1;
}
?>
0

LVL 5

Author Comment

ID: 12167779
DaveyEss,

I just tryed that but it came up with my postive value closest to 0 when infact I had a negative value closer.

3
2
1
0 - This being the center point
-1
-2
-3

Any ideas how i can do that? Maybe I need to take both values and divde by one and then check which is closest to 0? This would then work with your above code? Am I correct in thinking this?

If so could you show me how i could do that?
0

LVL 4

Expert Comment

ID: 12167828
What are the positive and negative values that didn't work?
0

LVL 5

Author Comment

ID: 12167871
They were

-22200
24600

and it returned the result of 24600
0

LVL 4

Expert Comment

ID: 12167888
On my test, the following code returns -22200.  Does yours do that?  I have saved the file as a php web page (test.php) and then executed it in the browser.

The output I get is "closer to zero -22200"

<?php
\$val1 = 24600;
\$val2 = -22200;

echo "closer to zero ";

if (abs(\$val1) > abs(\$val2)) {
echo \$val2;
}
else {
echo \$val1;
}
?>
0

Expert Comment

ID: 12167978
Well the above statement should work, but if you say that the abs function is not working i suppose that
<?php
\$val 1 = -3;
\$val 2 = 5;

if(\$val1*\$val2>0){  //same allinment
if((\$val1-\$val2)*\$val1 > 0){
echo \$val2;
} else {
echo \$val 1;
}

} else {
if ((\$val1+\$val2)*\$val1 >0){
echo \$val2;
} else {
echo \$val1;
}
}
?>
0

LVL 5

Author Comment

ID: 12168054
My mistake.

I had assigned a variable two values by mistake in an include and it was making the figure larger than it should have been.

Thanks for your help.

And thanks Daniel :-) I only noticed your reply after I refreshed the page when I awarded the point.
0

Expert Comment

ID: 12168162
NP:)
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

### Suggested Solutions

Title # Comments Views Activity
What is wrong with the below insert statement. Getting error when executing. 5 59
Help Required 3 135
batch file or script 4 66
MySQL programmer starter 25 65
A short article about problems I had with the new location API and permissions in Marshmallow
This is about my first experience with programming Arduino.
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …
Six Sigma Control Plans
###### Suggested Courses
Course of the Month3 days, 6 hours left to enroll

#### 752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.