روب رات نشر 9 مارس 2018 قمت ببرمجة اسكربت تحويل العملات بالphp لكن تظهر في ال صفحة : Warning: explode() expects parameter 2 to be string, array given in C:\AppServ\www\dollar.php on line 18 هذا هو ملف الـ dollar.php <?php function currency($amount,$from,$to){ $amount=urlencode($_POST['amount']); $from=urlencode($_POST['from']); $to=urlencode($_POST['to']); $url="http://www.google.com/ig/calculator?q=$amount$from=?$to"; $ch=curl_init(); $timeout=0; curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0(compatible;dows NT 6.1)" ); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $rawdata=curl_exec($ch); curl_close($ch); $data=explode('"', $rawdata); $data=explode(' ', $data ); $var=$data[0]; return round($var,2); //تقريب العدد الى رقمين } if(isset($_POST['convert'])) { echo currency($amount,$from,$to); } ?> <form action="<?php echo $PHP_SELF; ?>" method="post"> <input type="text" name="amount" /> from:<select name="from"> <option value="EGP">EGP</option> <option value="USD">USD</option> <option value="EUR">EUR</option> </select> TO:<select name="to"> <option value="EGP">EGP</option> <option value="USD">USD</option> <option value="EUR">EUR</option> </select> <input type="submit" name="convert" value="convert" /> </form> dollar.php انشر على الشّبكات الاجتماعية رابط هذه المساهمة
1 Mohamedvall Brahim نشر 10 مارس 2018 الدالة explode في PHP تستقبل متغيرين كباراميتر والاثنين يجب ان يكونا نصين والرسالة تقول انك قمت باعطائها مصفوفة في الباراميتر الثاني وهذا خطأ . الدالة مهمتها هي تحويل نص الي مصفوفة حسب محدد انت تعطيه للدالة في الباراميتر الاول يكون هذا المحدد يوجد في النص . مثلا الكود التالي متغير نصي ولكن الكلمات يتم التفرقة بينهم بالرمز "," ستعطي للدالة الرمز "," في المتغير الاول والثاني تعطيها النص او الكلمات التي تريد تحويلها الي مصفوفة : $names = "one, two, three"; $names_as_arr = explode(',', $names); print_r($names_as_arr); // النتيجة // Array ( [0] => one [1] => two [2] => three ) ارجو ان يكون واضحا السبب انك اعطيت للدالة في الباراميتر الثاني مصفوفة بينما هي تتوقع نص . 1 شخص أعجب بهذا انشر على الشّبكات الاجتماعية رابط هذه المساهمة
0 Mohamedvall Brahim نشر 12 مارس 2018 بتاريخ On 3/11/2018 at 06:25 قال روب رات: شكرا لك فهمت ولكن كيف اصحح الخطا فانا مبتدا ارجو ان تساعدني محمد الحل اخي هو ان لا تعطي للدالة explode مصفوفة ذكرت لك سابقا ان الدالة explode تقوم بارجاع مصفوفة وانها لا تستقبل مصفوفات في الباراميترز وانما نصوص فقط وشاهد الكود الذي كتبته السطر الأول المتغير $data عبارة عن مصفوفة وانت اعطيته للدالة . $data=explode('"', $rawdata); $data=explode(' ', $data ); لا اعرف ماهي نتيجة المتغير $rawdata ولا اعرف ماذا تريد ان تفعل لذالك شرحت لك سبب الخطأ انشر على الشّبكات الاجتماعية رابط هذه المساهمة
-1 روب رات نشر 10 مارس 2018 شكرا لك فهمت ولكن كيف اصحح الخطا فانا مبتدا ارجو ان تساعدني محمد انشر على الشّبكات الاجتماعية رابط هذه المساهمة
قمت ببرمجة اسكربت تحويل العملات بالphp لكن تظهر في ال صفحة :
هذا هو ملف الـ dollar.php
dollar.php
انشر على الشّبكات الاجتماعية
رابط هذه المساهمة