הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [PHP] פונקציות.. (https://hosts.co.il/forums/showthread.php?t=44990)

O-B 07-05-07 00:28

[PHP] פונקציות..
 
מה קורה?.

יש לי איזה משהו שאני רוצה הבין למה הוא בלתי אפשרי.. והוא:..
למה אפשר לכתוב פונקציה כך:
PHP קוד:

function aaa($a,$b,$c="ccc") { 

כלומר שאם זינמתי את הפונקציה ללא הפרמטר השלישי (C) הערך הברירת מחדל שלו יהיה ccc...

אבל כך:
PHP קוד:

function aaa($a,$b,$c=$d) { 

אי אפשר לעשות..!
כלומר שהערך ברירת מחדל של C יהיה מה שיש בתוך D..

ואם למישהו יש רעיון חלופי למה שאני מנסה אשמח לקבל..

DFX-Hosting 07-05-07 04:03

בכלליות אתה יכול לעשת
PHP קוד:

$d=2;
$a=1;
$b=3;
function 
aaa($a,$b,$c,$d
{
$d=$c;
echo 
$a;
echo 
"<br>";
echo 
$b;
echo 
"<br>";
echo 
$c;
echo 
"<br>";
echo 
$d;
echo 
"<br>";

echo 
aaa(10,20,30); 

בפלט נראה ככה :

הפלט נראה ככה

10
20
30
30

מקווה שזה למה שהתכוונת

HighA 07-05-07 06:26

זאת לא הכוונה שלו, אני מבין למה הוא התכוון, וגם לי הייתה אותה בעיה

PHP קוד:

public $d;
function 
aaa($a$b$c=NULL){
if(
$c=="" || $c==NULL){ $c=$d; }
if(
$c=="" || $c==NULL){ return false; }
.
.
.


אני מקווה שזה יעזור

O-B 07-05-07 11:35

ציטוט:

נכתב במקור על ידי DFX-Hosting (פרסם 473092)
בכלליות אתה יכול לעשת
PHP קוד:

$d=2;
$a=1;
$b=3;
function 
aaa($a,$b,$c,$d
{
$d=$c;
echo 
$a;
echo 
"<br>";
echo 
$b;
echo 
"<br>";
echo 
$c;
echo 
"<br>";
echo 
$d;
echo 
"<br>";

echo 
aaa(10,20,30); 

בפלט נראה ככה :

הפלט נראה ככה

10
20
30
30

מקווה שזה למה שהתכוונת

לא לזה התכוונתי..

ציטוט:

נכתב במקור על ידי SsH S Scripts (פרסם 473099)
זאת לא הכוונה שלו, אני מבין למה הוא התכוון, וגם לי הייתה אותה בעיה

PHP קוד:

public $d;
function 
aaa($a$b$c=NULL){
if(
$c=="" || $c==NULL){ $c=$d; }
if(
$c=="" || $c==NULL){ return false; }
.
.
.


אני מקווה שזה יעזור

עוד לא ניסיתי אבל נראה לי שזה יעזור..

עריכה: אממ.. זה לא עובד.. מציג שגיאה במקום שהוא אני כותב public $d; ..
תודה לשניכם!...

בניה 07-05-07 12:04

ציטוט:

נכתב במקור על ידי O-B (פרסם 473126)
לא לזה התכוונתי..



עוד לא ניסיתי אבל נראה לי שזה יעזור..

עריכה: אממ.. זה לא עובד.. מציג שגיאה במקום שהוא אני כותב public $d; ..
תודה לשניכם!...

puclic זו מילה שקשורה לOOP, והיא נתמכת רק מPHP5.

והבעיה בזה
קוד:

function aaa($a,$b,$c=$d) {
שהפונקציה לא מכירה את המשתנה $d אז אין לזה שימוש בכלל.

מה אתה מנסה לעשות?

mlnn 07-05-07 12:30

PHP קוד:

$d=1;
function () {
global 
$d;
echo 
$d;



iDan | Gold-host 07-05-07 12:48

אני עוד לא הגעתי ללימוד PHP אבל יכול להיות שאתה צריך להכניס את המונח:
$d בתוך מרכאות ? כי ב-HTML ו-XHTML זה חשוב ואת זה אני כן למדתי .
מקווה שעזרתי.

DorWD 07-05-07 13:44

עדיין לא הוגדר $d, במידה והוגדר אז אין לו גישה לפונקציה

HighA 07-05-07 15:46

צודק בניה, טעיתי בין public ל global
PHP קוד:

global $d;
function 
aaa($a$b$c=NULL){
if(
$c=="" || $c==NULL){ $c=$d; }
if(
$c=="" || $c==NULL){ return false; }
.
.
.


אמור לעבוד

Tomer 07-05-07 16:09

מסתבר שבאמת אי אפשר, אבל תעשה ככה:

PHP קוד:

$d "abcd";

function 
x($a,$b,$c=0) {
    global 
$d;
    if (empty(
$c)) $c $d;
    return 
$c;
}

echo 
x(1,2); // return "abcd"
echo x(1,2,3); // return "3" 



כל הזמנים הם GMT +2. הזמן כעת הוא 16:02.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ