شوّيت: شبكة كرة قدم اجتماعية




العودة   سوالف سوفت > سوالف برمجة المواقع وتطويرها > PHP
التسجيل المدوّنات البحث مشاركات اليوم جعل الأقسام مقروءة

الرد على الموضوع
 
LinkBack أدوات الموضوع
مشرف
#101  

هذه محاكاتي البسيطة لدالة in_array:
كود PHP:
function in_array_alt($needle$haystack)
{
    if (!
is_array($haystack))
        return 
false;

    foreach (
$haystack AS $key => $value)
        if (
$needle == $value)
            return 
true;

لم أعلم مافائدة المعامل الثالث لذلك لم أقم بتضمينه






__________________
تابعني على Twitter
محمد الطويل is offline   قديم 27-05-2009, 10:19 PM
الرد مع إقتباس
مشرف
#102  

إقتباس:
المشاركة الأصلية بواسطة mr_m مشاهدة مشاركة
@مدمن نت دالة جميلة هناك فقط فاصلة منقوطة في السطر 12

لكن هل هناك طريقة لاستقبال عدة flags ؟ EXTR_OVERWRITE | EXTR_REFS
كلا، لايوجد هناك طريقة .. لأن الـ flags الخاصة بدالة extract كلها عبارة عن أرقام متتالية
بالتالي لاتستطيع استقبال أكثر من flags
عدا EXTR_REFS فهي عبارة عن قيمة تحمل الرقم 256 وهي الوحيدة التي يمكن استقبالها مع flag آخر

وشكراً لك على الملاحظة وتم وضع الفاصلة






__________________
تابعني على Twitter
محمد الطويل is offline   قديم 27-05-2009, 10:21 PM
الرد مع إقتباس
عضو نشيط جدا
#103  

طيب هل يمكن استقبال اكثر من فلاج مع دالة في ال PHP level ؟

حاولت اجرب الامر لكن تقريبا لا يمكن

----------------------------

اسف لم اقرا الاجابة جيدا .. وصلت المعلومة






__________________
محمد حمود.

آخر تعديل بواسطة mr_m في 27-05-2009 الساعة 10:33 PM.
mr_m is offline   قديم 27-05-2009, 10:25 PM
الرد مع إقتباس
مشرف
#104  

هناك دوال أخرى تستقبل flag .. لكن لا أعلم هل تستقبل أكثر من واحدة أم لا
بإمكانك إنشاء دالة خاصة بك وعمل flags واستقبال عدد لانهائي منها لو أردت باستخدام define وذو قيم محددة تتعلق بالأنظمة الثنائية وليست أية قيم
إذا أردت أن أشرح الأمر بشكل أعمق فاعلمني بذلك لأقوم بإنشاء موضوع جديد فيما يخص ذلك



- من يستطع محاكاة دالة ftp_connect
لكي أسهل لكم الأمر، استخدموا fsockopen






__________________
تابعني على Twitter
محمد الطويل is offline   قديم 27-05-2009, 10:41 PM
الرد مع إقتباس
عضو سوبر نشيط
#105  

لا تحتاج الى تفكير ..
كود PHP:
fsockopen($host,$port,$errno$errstr$time_out); 






__________________
قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير
مهندس مصرى is offline   قديم 27-05-2009, 10:51 PM
الرد مع إقتباس
مشرف
#106  

ممتاز،

وصلت اللي ابغاه
حتى الآن، هل تقدر على محاكاة ftp_login ؟


-- على فكرة، أملك class خاص بالـ FTP قمت ببرمجته منذ فترة، وهي البديل الكامل لمجموعة دوال الـ FTP .. والسبب في ذلك عائد إلى مستضيف الموقع الخاص بي حيث قام بتعطيلهم في ظل حاجتي لهم






__________________
تابعني على Twitter
محمد الطويل is offline   قديم 27-05-2009, 10:57 PM
الرد مع إقتباس
عضو سوبر نشيط
#107  

إقتباس:
المشاركة الأصلية بواسطة مدمن نت مشاهدة مشاركة
ممتاز،

وصلت اللي ابغاه
حتى الآن، هل تقدر على محاكاة ftp_login ؟


-- على فكرة، أملك class خاص بالـ FTP قمت ببرمجته منذ فترة، وهي البديل الكامل لمجموعة دوال الـ FTP .. والسبب في ذلك عائد إلى مستضيف الموقع الخاص بي حيث قام بتعطيلهم في ظل حاجتي لهم
عن نفسي لم استطع ..
لكني وجدتها بموقع آخر بعد البحث لاني لم اتوقع ان تتم وظائف ال ftp بغير الدوال ال ftp_
لكن فكرة ممتازة ماشاء الله .. ولن اعرضها الآن مع اني متأكد أنها ستُعرض لكن سننتظر حتى نرى الإبداعات






__________________
قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير
مهندس مصرى is offline   قديم 27-05-2009, 11:43 PM
الرد مع إقتباس
مشرف قسم PHP
#108  

Basic FTP Commands

أوامر الـ FTP موجودة في هذه الصفحة يمكن استخدامها للاستفادة من السوكتس في هذه الوظيفة ..

يبدو أني سأعاود دراسة Bitwise Operators لاحقاً لأني لم أعطها حقها من مجمل ما أملك من معلومات ..

ما رأيكم أن نستمر في محاكاة الدوال العادية مثل Strings Functions و Arrays Functions وما إلى ذلك؟ لأن السوكيتس والـ FTP تحتاج إلى مواضيع كاملة .. قد نخوض مثل تلك النقاشات في وقت لاحق في مواضيع منفصلة سيكون أفضل للتركيز على المهام ..

تحياتي، أشرف السمهوري






__________________
# للتواصل السريع (على ساحات) : http://www.sa7.at/ashraf
# اتبعني على Twitter
أشرف السمهوري is offline   قديم 28-05-2009, 12:13 AM
الرد مع إقتباس
مشرف
#109  

Bitwise Operators و Shift Operators، دراستها معقدة نوعاً ما .. عليك بالتعمق فيه بشكل أوسع، لأن كلها راح تتعلق بالأنظمة الثنائية .. بالعربي: لحسة مخ

تفضل موضوع راح يفيدك بإذن الله
http://www.arabteam2000-forum.com/in...howtopic=53544


-----

أنتظر منكم محاكاة دالة strrpos وليس strpos






__________________
تابعني على Twitter
محمد الطويل is offline   قديم 28-05-2009, 12:27 AM
الرد مع إقتباس
عضو نشيط جدا
#110  

اثناء تجوالي في المانيوال لاحظت عدة حلول مشابهة لحل كنت اريد عمله

لذلك عملت واحدة جديدة . ايضا لم استخدم دوال التعامل مع النصوص.

كود PHP:
function _strrpos($haystack,$needle,$offset 0){
    if(
$haystack == '' || $needle == '') return false;
    
    
$len1 $len2 0;
    while(isset(
$haystack[++$len1]));
    while(isset(
$needle[++$len2]));
    
    
$offset = (int) $offset;
    if(
$len1-abs($offset) < $len2) return false;
    
$len2--;
    
$len1--;
    
    
$min = ($offset<0) ? $offset;
    
    for(
$start=($offset<0) ? $len1+($offset+1) : $len1;$start>=$min;$start--){
        if(
$haystack[$start] == $needle[0]){
            
$pass true;
            for(
$i=0,$v=$start;$i<=$len2;$i++,$v++){
                if(
$haystack[$v] != $needle[$i]){
                    
$pass false;
                    break;
                }
            }
            if(
$pass == true) return $start;
        }
    }
    return 
false;







__________________
محمد حمود.
mr_m is offline   قديم 28-05-2009, 06:53 AM
الرد مع إقتباس
مشرف قسم PHP
#111  

إقتباس:
المشاركة الأصلية بواسطة مدمن نت مشاهدة مشاركة
Bitwise Operators و Shift Operators، دراستها معقدة نوعاً ما .. عليك بالتعمق فيه بشكل أوسع، لأن كلها راح تتعلق بالأنظمة الثنائية .. بالعربي: لحسة مخ

تفضل موضوع راح يفيدك بإذن الله
http://www.arabteam2000-forum.com/in...howtopic=53544


-----

أنتظر منكم محاكاة دالة strrpos وليس strpos
إن شاء الله لما أتفرغ بقرا عنها ، ما في شي صعب في العلم خخخ ..

للأسف مضطر أطلع على حصتي .. كنت رح أحاكي strrpos عن طريق عكس المتغير الأصلي haystack$ بواسطة strrev ، وعكس needle$ كذلك، ثم استخدام strpos العادية .. والاستفادة من strlen لـ needle$ و strlen للجزء المتبقي من haystack$ لإعطاء موقع دقيق للبحث .. مجرد فكرة كانت في بالي بدلاً من المرور على جميع الحروف يدوياً ..

تحياتي، أشرف السمهوري






__________________
# للتواصل السريع (على ساحات) : http://www.sa7.at/ashraf
# اتبعني على Twitter
أشرف السمهوري is offline   قديم 28-05-2009, 08:16 AM
الرد مع إقتباس
مشرف قسم PHP
#112  

عدنا .. تطبيق سريع للفكرة التي ذكرتها في ردي السابق ..

كود PHP:
function strrpos_sim($haystack$needle) {
    
$haystack strrev($haystack);
    
$needle strrev($needle);
    
$pos strpos($haystack$needle);
    
$pos strlen($haystack) - $pos strlen($needle);
    return 
$pos;

بدون الباراميتر الثالث offset$ لأني لست متأكداً من فهمي السليم لوظيفته في strrpos حيث أن المانيوال لم يشرح الباراميترز لهذه الدالة ..

تحياتي، أشرف السمهوري






__________________
# للتواصل السريع (على ساحات) : http://www.sa7.at/ashraf
# اتبعني على Twitter
أشرف السمهوري is offline   قديم 28-05-2009, 01:03 PM
الرد مع إقتباس
مشرف
#113  

mr_m
أحسنت حقاً، أفضل ماقمت به أنك لم تستخدم دوال التعامل بالنصوص
حلك رائع رغم أننا بإمكانك استخدام أقصر الطرق لما قمت به
لكني لم أستطع فهم مافائدة المعامل الثالث حتى الآن؟

أشرف السمهوري
حلي مشابه لحلك سوى من بعض المعاملات، لاحاجة لتعريف متغيرات في الدالة .. لأنك لن تستخدمهم إلا لمرة واحدة فقط
كذلك
كود PHP:
function strrpos_alt($haystack$needle)
{
    return 
strlen($haystack) - (strpos(strrev($haystack), strrev($needle)) + strlen($needle));







__________________
تابعني على Twitter
محمد الطويل is offline   قديم 28-05-2009, 03:25 PM
الرد مع إقتباس
مشرف
#114  

لمن هو قد التحدي

محاكاة دالة strrev باستخدام طريقة الإستدعاء الذاتي Recursion

أنتظركم






__________________
تابعني على Twitter
محمد الطويل is offline   قديم 28-05-2009, 03:26 PM
الرد مع إقتباس
مشرف قسم PHP
#115  

إقتباس:
المشاركة الأصلية بواسطة مدمن نت مشاهدة مشاركة
لمن هو قد التحدي

محاكاة دالة strrev باستخدام طريقة الإستدعاء الذاتي Recursion

أنتظركم
عالسريع:

كود PHP:
function strrev_sim($string$pos 0) {
    static 
$loop_string;
    
    if (
$pos === 0$loop_string '';
    
$len strlen($string);
    
$loop_string .= $string[$len $pos 1];

    if (
$len $pos 1) {
        return 
strrev_sim($string$pos 1);
    } else {
        return 
$loop_string;
    }

تحياتي، أشرف السمهوري






__________________
# للتواصل السريع (على ساحات) : http://www.sa7.at/ashraf
# اتبعني على Twitter
أشرف السمهوري is offline   قديم 28-05-2009, 03:37 PM
الرد مع إقتباس
مشرف
#116  

جميل جداً أشرف
لكن في طريقة أسهل من كذا وبدون الحاجة لاستخدام static






__________________
تابعني على Twitter
محمد الطويل is offline   قديم 28-05-2009, 04:32 PM
الرد مع إقتباس
مشرف قسم PHP
#117  

إذا كان قصدك تمريره في الدالة فمو كثير يفرق .. وطبعاً تتعدد الأكواد والنتيجة واحدة .. يعني في طرق كثيرة لكن هذا اللي طلع معي وانا بكتب الكود ..

تحياتي، أشرف السمهوري






__________________
# للتواصل السريع (على ساحات) : http://www.sa7.at/ashraf
# اتبعني على Twitter
أشرف السمهوري is offline   قديم 28-05-2009, 04:37 PM
الرد مع إقتباس
مشرف
#118  

طيب مو مشكلة

هذا حلي:
كود PHP:
function strrev_alt($string)
{
    if (
strlen($string) == 1)
        
$rev_string .= $string;
    else
        
$rev_string .= substr($string, -1) . strrev_alt(substr($string0, -1));

    return 
$rev_string;


أشرف الحين انت عطنا محاكاة خلص اللي عندي






__________________
تابعني على Twitter
محمد الطويل is offline   قديم 28-05-2009, 05:03 PM
الرد مع إقتباس
مشرف قسم PHP
#119  

ممتاز، على فكرة انا من زماان ما استخدمت Recursive Functions ،، وبالأحرى من زماان ما كتبت أكواد برمجية ، وهذا سبب بدئي للموضوع تقريباً .. يعني جيّد اني استرجعت جزء لا بأس به من المعلومات .. ..

طيب، دالة parse_str ، مين يحاكي؟

تحياتي، أشرف السمهوري






__________________
# للتواصل السريع (على ساحات) : http://www.sa7.at/ashraf
# اتبعني على Twitter
أشرف السمهوري is offline   قديم 28-05-2009, 05:20 PM
الرد مع إقتباس
مشرف
#120  

حرام عليك جايب لنا دالة صعبة مرررررررة
للأسف ما أقدر أحاكيه انتظر غيري يحاكونه






__________________
تابعني على Twitter
محمد الطويل is offline   قديم 28-05-2009, 05:30 PM
الرد مع إقتباس
عضو نشيط جدا
#121  

بخصوص المتغير الثالث في strrpos هو يحدد للدالة المكان الذي ستبدأ البحث في النص من بعده
هذا اختبار استعملته لاختبار المحاكاة
كود PHP:
$haystack implode('',range('a','h'));
$needle 'ef';
for(
$i=strlen($haystack)*-1;$i<=strlen($haystack);$i++){
    echo 
$i."\n";
    
var_dump(_strrpos($haystack,$needle,$i));
    echo 
"\n";
    
var_dump(strrpos($haystack,$needle,$i));
    echo 
"\n-----------------\n";
}

echo 
"true\n";
var_dump(_strrpos($haystack,$needle,true));
echo 
"\n";
var_dump(strrpos($haystack,$needle,true));
echo 
"\n-----------------\n";
echo 
"false\n";
var_dump(_strrpos($haystack,$needle,false));
echo 
"\n";
var_dump(strrpos($haystack,$needle,false));
echo 
"\n-----------------\n";
echo 
"null\n";
var_dump(_strrpos($haystack,$needle,null));
echo 
"\n";
var_dump(strrpos($haystack,$needle,null));
echo 
"\n-----------------\n"
==========

محاكاتي ل strrev

كود PHP:
function _strrev($string){
    
$len strlen($string);
    return (
$len 1) ? $string[--$len]._strrev(substr($string,0,$len)) : $string;







__________________
محمد حمود.
mr_m is offline   قديم 28-05-2009, 05:43 PM
الرد مع إقتباس
عضو نشيط جدا
#122  

إقتباس:
المشاركة الأصلية بواسطة أشرف السمهوري مشاهدة مشاركة
ممتاز، على فكرة انا من زماان ما استخدمت Recursive Functions ،، وبالأحرى من زماان ما كتبت أكواد برمجية ، وهذا سبب بدئي للموضوع تقريباً .. يعني جيّد اني استرجعت جزء لا بأس به من المعلومات .. ..

طيب، دالة parse_str ، مين يحاكي؟

تحياتي، أشرف السمهوري
تحتاج تركيز ممكن اعملها في المساء اذا لم يحاكيها احد






__________________
محمد حمود.
mr_m is offline   قديم 28-05-2009, 05:53 PM
الرد مع إقتباس
عضو سوبر نشيط
#123  

إقتباس:
المشاركة الأصلية بواسطة أشرف السمهوري مشاهدة مشاركة
ممتاز، على فكرة انا من زماان ما استخدمت Recursive Functions ،، وبالأحرى من زماان ما كتبت أكواد برمجية ، وهذا سبب بدئي للموضوع تقريباً .. يعني جيّد اني استرجعت جزء لا بأس به من المعلومات .. ..

طيب، دالة parse_str ، مين يحاكي؟

تحياتي، أشرف السمهوري
كتبتها على السريع ولكنها ناقصة كثير اشياء

كود PHP:
function _parse_str($str,$output=null){
$str=explode("&",$str);
foreach(
$str as $string){
$strr=explode("=",$string);
$GLOBALS[$strr[0]] = $strr[1];
}
return 
'';







__________________
مدونتي قريبا

بيع ar-ci.com
exchangeboss is offline   قديم 28-05-2009, 06:21 PM
الرد مع إقتباس
مشرف قسم PHP
#124  

إقتباس:
بخصوص المتغير الثالث في strrpos هو يحدد للدالة المكان الذي ستبدأ البحث في النص من بعده
في الحقيقة كان من المربك أن أقرأ هذا الرد .. إلا أنني عدت ووجدت إحدى التعليقات تفيد بنفس ما أشرت إليه .. << مكسّل يجرب شي

الغريب في الموضوع انه في الاساس ما رح تفرق تحديد نقطة البداية لانه اخر حدث سيبقى الاخير دائماً ، إلا إذا كانت القيمة المدخلة موجبة وأكبر من موقع آخر حدث لما نبحث عنه، عندها سوف لن نجد أية نتائج لبحثنا .. وستفيدنا الدالة في حال استخدام قيمة سالبة كذلك ..

شكراً لتوضيحك .. ..

ومنتظرين parse_str ..

تحياتي، أشرف السمهوري






__________________
# للتواصل السريع (على ساحات) : http://www.sa7.at/ashraf
# اتبعني على Twitter
أشرف السمهوري is offline   قديم 28-05-2009, 06:28 PM
الرد مع إقتباس
عضو نشيط جدا
#125  

في بعض حالات نستخدم فيها القيم الموجبة او السالبة على حد سواء
امثلة
كود PHP:
var_dump(strrpos('abcdef','b',3));
var_dump(strrpos('abcd abcd','b',-3));
var_dump(strrpos('abcd abcd','b',-4)); 
=======

_parse_str

كود PHP:
function _parse_str($str,&$array null){
    
$arr split('&',$str);
    foreach(
$arr as $val){
        list(
$key,$value) = split('=',$val,2);
        
$value str_replace('+',' ',$value);
        if(
strpos($key,'[]') !== false){
            
$key preg_replace("/[^a-zA-Z_\x7f-\xff]/",'',$key);
            
$output[$key][] = $value;
        }else
            
$output[$key] = $value;
        if(
$array === null && preg_match('#^[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*$#',$key)) $GLOBALS[$key] = $value;
    }
    
$array $output;

اعتقد تعمل بشكل طبيعي






__________________
محمد حمود.
mr_m is offline   قديم 28-05-2009, 07:21 PM
الرد مع إقتباس
الرد على الموضوع


 

أدوات الموضوع

قوانين المشاركات
لا يمكنك كتابة مواضيع جديدة
لا يمكنك إضافة ردود
لا يمكنك إرسال مرفقات
لا يمكنك تعديل مشاركاتك

كود vB متاح
كود [IMG] متاح
كود HTML غير متاح
Trackbacks are متاح
Pingbacks are متاح
Refbacks are متاح


المواضيع المشابهه
الموضوع كاتب الموضوع القسم الردود آخر مشاركة
مساعده في دوال البحث php Q8website PHP 7 17-11-2007 12:50 AM
بعض دوال المصفوفات (PHP) الحق يعلو PHP 3 02-08-2007 07:54 PM
دوال php مع أمثله لها (متجدد) albarz.net PHP 13 09-10-2006 12:42 AM
هنا كتب و دوال هامة فى PHP prokhaled PHP 5 27-09-2004 08:04 PM
من يشرح لنا دوال XML في PHP daif PHP 5 05-10-2003 01:41 AM


جميع الأوقات بتوقيت غرينتش +3. الوقت الآن هو 07:46 PM.