string 2 int

Status
Niet open voor verdere reacties.

hitecfreak

Gebruiker
Lid geworden
18 jun 2003
Berichten
78
Het probleem zal wat dieper liggen, mij is bekend dat je int en str in php op kunt tellen, doch is het resultaat bij mij steeds 0
------------------

Hallo,
ik heb twee strings $a="12" en $b="14"
Ik wil deze twee als decimalen (int) optellen
$result = $a+$b => met het resultaat 26

Eigenlijk heb ik:

$x = explode(",",$y);

$result = $x[0] + $x[1];


Na vele uren lezen, na veel zoeken ben ik niets verder gekomen, wie kan helpen!
groeten
 
Laatst bewerkt:
PHP:
$a = '12';
$b = '4';
$resultaat = (((int) $a) + ((int) $b));
echo $resultaat; // 16
(int) Maakt een integer (geheel getal) van wat erachter staat :)
Naast (int) heb je ook (string), (float), (bool), (array), etc.

Succes :thumb:
 
Bedankt voor je bericht, dat had ik al geprobeerd, vermoelijk hebben we ergens anders mee te maken.
Daarom even een stukje code die het resultaat heeft van aantal luisteraars, $a + $a = 0 :-(

Wanneer ik een andere element uit de array neem, dan kan ik wel optellen. Maak ik de array langer zodat ik niet array[0] maar array[2] krijg voor dezelfde waarde dan werkt het nog niet...
Snap er helemaal niets meer van....
Ik heb nl twee audiostreams en wil de aantal luisteraars bij elkaar optellen...

<?
error_reporting(0);
$id = $_GET['id'];
echo "";
// 216.55.156.30:8000
$fp = fsockopen("216.55.156.30", "8000", &$errno, &$errstr, 10);

if(!$fp) {
$connected="0";} else {$connected="1";
}

if($connected != "0"){
fputs($fp,"GET /7.html HTTP/1.0\r\nUser-Agent: XML Getter (Mozilla Compatible)\r\n\r\n");
while(!feof($fp)) {
$bezoekers = fgets($fp, 1000);
}}else{$bezoekers="</b>OFF,-,LINE,-,-,Non,-,-";}
fclose($fp);

$aantal_ln = explode(",",$bezoekers);

$a=$aantal_ln[0];
$b=$aantal_ln[0];
echo "$a - $b - ";

$som=(((int) $a) + ((int) $b));
echo $som;
?>
 
Laatst bewerkt:
Als ik dat script uitvoer, en ik doe:
PHP:
echo $a;
Dan krijg ik dit als output:
<HTML><meta http-equiv="Pragma" content="no-cache"></head><body>61
Daar maakt PHP niet 1,2,3 een integer van nee ... :D
 
OEF
duidelijk is dat ik iets niet snap, maar dat er meer staat dan mij lief is heb je aangetoond...
Bedankt, ik heb nu iets om verder te gaan..

Opgelost, TOPPIE:
PHP:
$bezoekers = ereg_replace(".*<body>", "", $bezoekers);
$bezoekers = ereg_replace("</body>.*", ",", $bezoekers);
 
Laatst bewerkt:
Geplaatst door masterprut
regexps zijn traag, slecht, bad, bleh enz (:p)
Voor wat jij doet kun je beter str_replace() gebruiken :thumb:
Kijk ook ff naar de situatie ? :)
Die .*<body>,"" houdt in dat hij alles voor <body> + <body> zelf wil vervangen door niets, hetzelfde doet hij voor alles na </body> + </body> zelf. Op deze manier houdt hij alleen de getallen over :)

Natuurlijk kan 't idd beter. Als je per se regexp's wil gebruiken, gebruik dan preg_* ipv ereg_*. ereg functies zijn namelijk de trageregexp's ;)

In dit geval zou ik 't gewoon met strstr() en str_replace() doen ;)
 
naar mijn weten wil je van een stukje tekst want dat is een string een getal maken..

als dat zo is $a = "14" * 1;
al geprobeerd bij mijn weten simpelste manier om er een wiskundig getal van te maken

ik heb het hier op mijn localhost nog ff vergeleken maar bij mij pakt ie ze alletwee zowel $a+$b als ($a*1)+($b*1)


MvG Ruud
 
Geplaatst door radio3fm
naar mijn weten wil je van een stukje tekst want dat is een string een getal maken..

als dat zo is $a = "14" * 1;
al geprobeerd bij mijn weten simpelste manier om er een wiskundig getal van te maken

ik heb het hier op mijn localhost nog ff vergeleken maar bij mij pakt ie ze alletwee zowel $a+$b als ($a*1)+($b*1)


MvG Ruud
Lees ook ff de berichten van mensen die eerder dan jou hebben gepost :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan