Мой скрипт Умножение ключевого значения Array Do't Work

H там - первое время размещения здесь - я пощажу, давая вам знать, что я "новичок в PHP и Perl", поскольку это станет болезненно очевидным ниже.

Ниже приведен сценарий, который я написал, чтобы очистить сумму активов банка, умножить его на 3% и отобразить результаты. Я объясняю свою идею потока ниже и показываю результат, который я получаю по сравнению с тем, что я должен получать. Я предполагаю, что я не могу выполнять математику со значением, которое все еще находится внутри массива. Есть ли процесс implode, который я пропускаю, прежде чем я начну делать математику.

URL-адрес, который я соскабливаю, находится на моем сервере, поэтому запускайте его по своему усмотрению.

<!--?php 

// scrape page content of credit union
$dataassets = file_get_contents('http://ablistings.com/boise-project.htm');

// define regular expression to grab credit union assets amount
$regexassets = '/members,\s(.+?)\smillion/';

// run the preg_match
preg_match($regexassets,$dataassets,$matchassets);

// print the second key of the array [1] which is just the numerical value (in this case $214.4)
$assetsamount = print_r($matchassets[1]);

// add 3% to the value of $214.4, so first we multiple .03 by value
$three_percent_increase = ($assetsamount * .03); // should egual 6.432

// now add the percentage to the orginal asset amount - in this case 6.432 + 214.4 which = 220.832
$final_sum = ($three_percent_increase + $assetsamount);

echo $final_sum;
// sum should be $220.832 but the sum this script produces is $214.41.03 

?-->
1 ответ

<p> В вашем коде было 2 проблемы:</p> <ol> <li> <p> Вы не пропускаете <code>$ в первоначальной сумме. Я изменил регулярное выражение, чтобы сделать это.

  • Вы присваивали результат print_r $assetsamount. print_r не возвращает значение, которое он печатает, оно просто возвращает 1. Таким образом, он добавлял 3% к 1, что привело к 1.03.

  • Когда он напечатал $214.41.03, на самом деле это было две вещи: 214.4 был из print_r($matchassets[1]), 1.03 был из echo $final_sum.

    licensed under cc by-sa 3.0 with attribution.