2015-10-12 5 views
-3

У меня есть следующий кодОбъединить две различные переменные в PHP

<?php 
$str="3dollars"; 
$a=20; 
$a+=$str; 
print($a); 
?> 

Как может быть выход из вышеуказанной программы 23?

Спасибо заранее!

+1

[Этот код работает] (https://eval.in/448997) –

+4

@JohnConde Он знает код работает, он спрашивает ** ПОЧЕМУ ** он выводит 23 .. – Naruto

+0

@JohnConde Точно моя точка, поэтому я попросил прочитать руководство. Он очистит его концепции относительно основ и всегда будет помогать ему в более длительном режиме. Это для его собственной кривой обучения. – akashBhardwaj

ответ

2

Оператор + будет принуждать строку в представляет собой целое число, так что это будет (внутренне) сделать что-то вроде этого:

$str = "3dollars"; 
$a = 20; 
$a += $str; 
// $str = (int)"3dollars"; 
// $str = 3; 
$a = 23; 

То, что вы хотите сделать, это использовать «конкатенации» оператора (.):

<?php 
$str = "3dollars"; 
$a = 20; 
$a .= $str; 
print($a); // 203dollars 
0

он принимает "3dollars" как номер, получение $ ул = 3.

И когда эхо, вы добавите 20, до $ ул, поэтому она печатает 23 и $ а = 23.

<?php $a += $str; 
    print($a); 
    it echo 23; //$a=$a+$b;?> 
0
$str= (int) "3dollars"; 
$a=20; 
$a+=$str; 
print($a); 

Использование (int) для преобразования строки в целое число.

0

Используйте этот

<?php 
    $a = 20; 
    $str = "3dollars"; 
    preg_match_all('!\d+!', $str, $matches); 
    print_r($matches); 

    $matches = $a + $matches[0][0]; 

    echo '<br> Value Is :'.$matches; 
?> 

Это будет печатать как ответ.

Выход

Array ([0] => Array ([0] => 3)) 
Value Is :23 

phpfiddle Preview

+0

. Проверьте [это] (http://stackoverflow.com/questions/33082290/concatenate-two-different-variable-in-php#comment53981004_33082290) –

+1

@Uchiha thanx man. Потерянное время –

Смежные вопросы