Jump to content

Archived

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

gardan06

about functions..

Recommended Posts

You can return multiple values by using an array.

Example:
[code]<?php
function multret($a,$b) {
    return(array($a,$b,$a+$b,$a-$b,$a*$b,$a/$b));
}

list ($orig1,$orig2,$add,$sub,$mult,$div) = multret(rand(10,100),rand(10,100));
?>[/code]

Ken

Share this post


Link to post
Share on other sites
$orig1 should be the value of $a, $orig2 would be $b, etc right?

i tried it in my file, didnt work..

Share this post


Link to post
Share on other sites
works for me
What version of php are u running
also note
the array does not have keys
array(1 => "This", 2 => "that")
does not work

Share this post


Link to post
Share on other sites
Yes.

Please post the code that didn't work.

Here's an example of code the does work;
[code]<?php
function multret($a,$b) {
    return(array($a,$b,$a+$b,$a-$b,$a*$b,$a/$b));
}

list ($orig1,$orig2,$add,$sub,$mult,$div) = multret(rand(10,100),rand(10,100));
echo $orig1 . ' + ' . $orig2 . ' = ' . $add . '<br>';
echo $orig1 . ' - ' . $orig2 . ' = ' . $sub . '<br>';
echo $orig1 . ' * ' . $orig2 . ' = ' . $mult . '<br>';
echo $orig1 . ' / ' . $orig2 . ' = ' . $div . '<br>';
?>[/code]

Ken

(* Post #3000 :) *)

Share this post


Link to post
Share on other sites
function openxml($link) {
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
if (!($fp = fopen($link,"r"))) {
  die ("could not open RSS for input");
}
while ($data = fread($fp, 4096)) {
  if (!xml_parse($xml_parser, $data, feof($fp))) {
die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser)));
  }
}
xml_parser_free($xml_parser);
$title_ar = "";
$desc_ar = "";
for ($j=0;$j<sizeof($arItems);$j++) {
$txItem = $arItems[$j];
$title_ar .= addslashes(trim($txItem->xTitle));
$desc_ar .= addslashes(trim($txItem->xDescription));
//echo "title = ".htmlspecialchars(trim($title_ar))."<br>link = ".addslashes(trim($txItem->xLink))."<br>desc = ".htmlspecialchars(trim($desc_ar))."<p>";
}
return(array(htmlspecialchars(trim($title_ar)), htmlspecialchars(trim($desc_ar))));
}

list ($feed_title, $feed_desc) = openxml($link);
echo "<p>feed_url = ".$link."<br>title = ".$feed_title."<br>desc = ".$feed_desc;

only $link has a value. $feed_title and $feed_desc are blank.

Share this post


Link to post
Share on other sites
[quote author=kenrbnsn link=topic=107376.msg430775#msg430775 date=1157738197]
You can return multiple values by using an array.

Example:
[code]<?php
function multret($a,$b) {
    return(array($a,$b,$a+$b,$a-$b,$a*$b,$a/$b));
}

list ($orig1,$orig2,$add,$sub,$mult,$div) = multret(rand(10,100),rand(10,100));
?>[/code]

Ken
[/quote]
i did this code on my php file and it worked. i coded the same to my php file and i was wondering why it didnt show the same results as your code did..

Share this post


Link to post
Share on other sites
try chaning

  return(array(htmlspecialchars(trim($title_ar)), htmlspecialchars(trim($desc_ar))));
to
$title_ar = htmlspecialchars(trim($title_ar));
$desc_ar = htmlspecialchar(trim($desc_ar));
return array($title_ar, $desc_ar);

Share this post


Link to post
Share on other sites
still nothing.. am i doing the code right? i mean if i dont include it in a function, it works, but if i do, it wouldnt work..

Share this post


Link to post
Share on other sites
Put some echo statements in your function to see if you're getting any data into the variables.

Ken

Share this post


Link to post
Share on other sites
[quote author=kenrbnsn link=topic=107376.msg430901#msg430901 date=1157750483]
Put some echo statements in your function to see if you're getting any data into the variables.

Ken
[/quote]
echo inside the function also inputs empty.

i just compromised by NOT making a function..

thanks though..

Share this post


Link to post
Share on other sites

×

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.