የድርድር የመጨረሻውን ዋጋ ይውሰዱ። PHP፡ የድርድር አባሎችን በማስወገድ ላይ። የንጥረ ነገሮች መደበኛ መወገድ - ያልተቀናበረ

የ PHP ድርድሮች በሁሉም ቦታ ጥቅም ላይ ይውላሉ. እሴቶችን ማከል እና መለወጥ ብዙውን ጊዜ ቀላል ነው።

የድርድር አባሎችን ማስወገድ ልዩ ክዋኔ ነው። በቀላሉ ኤለመንቱን መሰረዝ ይችላሉ, ወይም እሱን መሰረዝ እና መጠቀም ይችላሉ. ይህ ልዩነት ጥሩ እድሎችን ይሰጣል.

ፒኤችፒ ድርድሮች

ፒኤችፒ ዘመናዊ የፕሮግራም አወጣጥ ቋንቋ ነው, ከድርድር ጋር አብሮ በመስራት ረገድ ያለው ተግባራዊነት በከፍተኛ ደረጃ ይከናወናል. ፕሮግራመርተኛው መደበኛ እና ተጓዳኝ አደራደሮችን የመጠቀም፣ ባለ ብዙ ዳታ አወቃቀሮችን የመንደፍ እና የማንኛውም አይነት ዋጋ እንደ ድርድር አካላት የመጠቀም እድል አለው።

ከድርድሮች እና ልዩ የአገባብ ግንባታዎች ጋር ለመስራት የዳበረ የተግባር ስብስብ አለ። የእራስዎን ስልተ-ቀመር በመጠቀም ድርድርን ማለፍ እና የራስዎን የማቀናበሪያ ተግባራት መመደብ ይቻላል.

ድርድር የመፍጠር እና የመጠቀም ምሳሌዎች

የ scPrint ተግባር ረዳት ነው። የሚያመጣውን ውጤት ለማሳየት ድርድር ወደ የቁምፊ ሕብረቁምፊ ደጋግሞ ይጽፋል።

የ$aFruits ድርድር በተለመደው መንገድ ተፈጥሯል፡ እሴቶቹ ተዘርዝረዋል፣ ኢንዴክሶቹ ከባዶ በራስ ሰር ይመደባሉ። የመጨረሻው ነጠላ ሰረዝ አግባብነት የለውም እና ሌላ ባዶ አካል አይፈጥርም።

የ$aData ድርድር ባዶ ተፈጥሯል፣ ከዚያ ዋጋዎች በእሱ ላይ ይታከላሉ። ሦስቱ አውቶማቲክ ናቸው፣ እና ሁለቱ በጠቅላላ የእሴቶች ቁጥር ላይ ተጽዕኖ የማያሳድሩ ተጓዳኝ ኢንዴክሶች ጋር ናቸው። ስለዚህ "ፕለም" እና "ፒች" የሚባሉት ንጥረ ነገሮች በቅደም ተከተል "አዲስ" እና "ትኩስ" ኢንዴክሶች አላቸው.

የ$aInfo ድርድር ሁለገብ እና ተያያዥ ነው።

ሶስት የማጥፋት ስራዎች በPHP ድርድር ውስጥ ያለውን አካል እንዴት ማስወገድ እንደሚቻል ያሳያሉ።

የመጀመሪያው ቀዶ ጥገና ሁለተኛውን ንጥረ ነገር ከ $ aFruits ድርድር ያስወግዳል, ኢንዴክስ 1 ነው. የሚከተሉት ኢንዴክሶች እንዳልተቀያየሩ ልብ ሊባል የሚገባው ነው, ይህም ማለት በሳይክል ኦፕሬሽኖች ውስጥ እንደዚህ ባለ አደራደር የንብረቱን መኖር ማረጋገጥ አስፈላጊ ነው. .

ሁለተኛው ክዋኔ በ$aData ድርድር ውስጥ ያሉትን የመጨረሻ እና የመጀመሪያ ኤለመንቶችን ይሰርዛል፣ይህም ስረዛው ኢንዴክሶችን እንደማይጎዳ እና በርካታ አባሎችን በአንድ ጊዜ የመሰረዝ እድልን ያረጋግጣል።

ሶስተኛው በድርድር ውስጥ ያለን ድርድር እና በድርድር ውስጥ ያለውን ንጥረ ነገር የሌላ ድርድር አካል ይሰርዛል።

የንጥረ ነገሮች መደበኛ መወገድ - ያልተቀናበረ

ያልተዘጋጀው ተግባር ያስወግዳል. ምንም ቢሆን። እሱ ተለዋዋጭ ወይም የድርድር አካል ብቻ ሊሆን ይችላል። unset() የቋንቋ ኦፕሬተር እንጂ ተግባር አይደለም። ይህ ኦፕሬተር ምንም አይነት ዋጋ አይመልስም, እና እንደ መለኪያዎች ወደ እሱ የተላለፈውን "ያጠፋል". ተለዋዋጩ ወይም አደራደሩ በጭራሽ እንደሌለው ይጠፋል።

በ PHP ውስጥ ባዶ ድርድር ክፍሎችን በተለያየ መንገድ ማስወገድ ይችላሉ, እንደ እውነቱ ከሆነ, ባዶ አካል ተብሎ የሚወሰደው በፕሮግራም አውጪው ላይ ነው. ነገር ግን፣ ለዚህ ​​አላማ በ unset() ኦፕሬተር ውስጥ በርካታ መለኪያዎችን መጠቀም በጣም ብልህነት አይደለም። የቡድን ስራዎችን ወደ የቡድን ተግባራት ለማንቀሳቀስ የበለጠ ተግባራዊ ነው.

ዘመናዊ ኮምፒውተሮች በጣም ፈጣን ናቸው, እና ፒኤችፒ በጣም ፈጣን ነው. ነገር ግን ይህ አስቸጋሪ ስልተ ቀመሮችን በመጠቀም ብዙ መረጃዎችን ለመፍጠር እና ለማስኬድ ምክንያት አይደለም ።

የሕብረቁምፊ ዘዴዎችን በመጠቀም አባሎችን ማስወገድ

በ PHP ውስጥ፣ ድርድርን ወደ ሕብረቁምፊ በመቀየር እና በመመለስ ባዶ ድርድር ክፍሎችን በጅምላ ማስወገድ ይችላሉ። ግን ይህ ጉዳይ ለትክክለኛ ባዶ አካላት ፣ ለጠፉ ኢንዴክሶች ወይም ድርድርን እንደገና ለመጠቆም ብቻ ተስማሚ ነው።

የአንድ ባዶ አካል ጽንሰ-ሐሳብ እንደ ሥራው ይወሰናል. ብዙ ጊዜ የተወሰነ መረጃ የያዘ ነባር የድርድር አካል ባዶ ይሆናል። ለምሳሌ፣ ድርድር ጎብኝዎችን ይመዘግባል። የድርድር አካል የሚከተሉትን ያካትታል:

  • የጎብኚዎች መድረሻ ጊዜ;
  • የአሁኑ የአሠራር ሁኔታ;
  • ንቁ ገጽ;
  • የመጨረሻ የድርጊት ጊዜ.

በመድረሻ ጊዜ እና በመጨረሻው ድርጊት መካከል ያለው ልዩነት ከ 1 ደቂቃ በላይ (ወይም ሌላ እሴት) ከሆነ, ደንበኛው ጣቢያውን ለቆ እንደወጣ መገመት እንችላለን. ስራው የነቁ ጎብኝዎችን ዝርዝር መከታተል እና ጃቫ ስክሪፕትን በመጠቀም የላቁ ዘዴዎችን ካልተጠቀሙ ስለእንደዚህ አይነት ደንበኞች መዝገቦች ሊሰረዙ ይችላሉ።

ይሁን እንጂ የ "መስመር" ሂደት ጥሩ ነው. ለምሳሌ፣ በPHP ውስጥ እንደዚህ ያሉ የተባዙ የድርድር ክፍሎችን ማስወገድ ይችላሉ።

ፈጣን እና ተመጣጣኝ መንገድ። እያንዳንዱን አካል ለማመልከት "[" እና "]" ምልክቶችን መጠቀም አስፈላጊ አይደለም ነገር ግን ድርድርን ወደ ሕብረቁምፊ ሲቀይሩ እያንዳንዱ አካል ልዩ መሆኑን ማረጋገጥ አለብዎት. የክፈፍ ቁምፊዎች በንጥሉ ውስጥ በተፈቀዱት ቁምፊዎች ላይ ተመርኩዘው መመረጥ አለባቸው. የማይናወጥ ህግ፡ በአንድ ረድፍ ውስጥ ያለው እያንዳንዱ የድርድር አካል ልዩ እና ቦታ አለው (አለበለዚያ ምንም ነገር መመለስ አይቻልም)።

ይህ ዘዴ በPHP ውስጥ ያለው ተግባር የድርድር አባልን በዋጋ ማስወገድ ሲሆን ይህ ዘዴ የበለጠ ምቹ ነው። የarray_flip ተግባርን መጠቀም እና እሴቶቹን እና ቁልፎቹን መለዋወጥ እና ከዚያ ክላሲክ አለመዘጋጀትን ማድረግ ይችላሉ። የarray_search ተግባርን መጠቀም እና ማስወገድ የሚፈልጉትን የእሴት ቁልፍ ማግኘት ይችላሉ። ነገር ግን የመፍትሄው ንዑስ ሆሄያት የበለጠ ግልጽ እና ቀላል ነው.

ፒኤችፒ በተግባር ገንቢውን በምንም ነገር አይገድበውም-በመለኪያዎች ብዛት ወይም በንጥረ ነገሮች መጠኖች ውስጥ። በዚህ ውስጥ መሳተፍ ምንም ፋይዳ የለውም. እያንዳንዱ ንጥረ ነገር በትንሹ የሚቻለው ርዝመት መሆን አለበት ፣ እና የልኬቶች ብዛት ወደ አንድ መሆን አለበት።

የድርድር ልኬቶች ቁጥር ከሶስት በላይ ከሆነ, ውሳኔውን እንደገና ለማጤን ይህ ጥሩ ምክንያት ነው. የድርድር አካል ከ4000-8000 ቁምፊዎች በላይ ከሆነ፣ ስለተሰራው የውሂብ ምስል ምክንያታዊነት ጥርጣሬዎች ሊፈጠሩ ይገባል።

ይህ አስተያየት ከ PHP ድርድር ተግባራዊነት አውድ አይነሳም-አንድን ኤለመንትን ያስወግዱ ፣ የተለየ አይነት ነገር ይጨምሩ ፣ አንድ ነገር ወደ ሙሉ ለሙሉ ይለውጡ። ቀላልነት በህይወት ውስጥ ብቻ ሳይሆን በአልጎሪዝም ውስጥ ለስኬት ቁልፍ ነው. መርሃግብሩ መስራት አለበት, እና በመጠን, በመጠን እና በሃሳቦች ልኬት አያስደንቅም. ወሳኙ ውጤት እንጂ ትልቅ ሀሳብ አይደለም።

እንደ ዘመናዊ የፕሮግራም አወጣጥ ቋንቋ፣ ፒኤችፒ መደጋገምን እና መደራረብን ችላ አይልም። በ PHP ውስጥ የarray_pop() ተግባርን ሲጠቀም ፕሮግራመር ማለት ምን ማለት እንደሆነ በመሰረታዊነት አስፈላጊ አይደለም፡ የድርድር የመጨረሻውን አካል ያስወግዱ ወይም በቀላሉ ወደ ተለዋዋጭ ያስገባው።

ነገር ግን በዚህ አውድ ውስጥ የarray_pop ተግባር የግፊት እና ፖፕ ተግባር መሆኑን አስታውሱ፣ ያም ማለት ቁልል መሳሪያ እንጂ ማጥፊያ መሳሪያ አይደለም።

እዚህ ላይ "ሰርዝ" ሳይሆን "ማውጣት" ማለት የተለመደ ነው. የትርጓሜው ትርጉም በጣም የተለያየ ነው. ነገር ግን፣ በ PHP ውስጥ ያለው የarray_shift() ተግባር - የአንድ ድርድር የመጀመሪያ ክፍልን ማስወገድ ወይም ማውጣት - የተለየ ትርጉም አለው። እዚህ በተጨማሪ ኤለመንቱ ወደ ውጫዊ ተለዋዋጭ ተመልሶ በድርድሩ ውስጥ አይሆንም፣ ግን ጠቋሚዎቹ ይቀየራሉ።

የመጀመሪያው ኤለመንት ከአንድ ድርድር ሲወጣ፣ የሚከተሏቸው ሁሉም ንጥረ ነገሮች ወደ ፊት ይቀየራሉ፣ ነገር ግን የቁጥር ኢንዴክሶች ብቻ ይለወጣሉ፣ ትንሽ ፊደሎች ሳይቀየሩ ይቀራሉ።

ይሰርዙ ወይም ይቀይሩ፡ የግብይት ታሪክ

ተለዋዋጭ በጣም ረጅም ጊዜ ነው ፣ አደራደር ከረጅም ጊዜ በፊት ነው ፣ አንድ ነገር ትናንት ነው። ዓላማን ያማከለ ፕሮግራሚንግ አሁንም የሚወራው ብቻ ነው፣ ነገር ግን ምንም ነገር በሙሉ አቅሙ ጥቅም ላይ አይውልም። ላዩን መፍትሄዎች ቀናተኛ መፍትሄዎች እና “ጥበበኛ” የይዘት አስተዳደር ስርዓቶች (ሲኤምኤስ) ብዙ “አካል” ያላቸው ርዕሰ ጉዳዮች ሲሆኑ በጣም ያልተለመደ ጉዳይ ነው።

የዓላማ ህግ: አስፈላጊ የሆነው የኮድ ብዛት አይደለም, ነገር ግን ጥራቱ! ግን ምንም ዘመናዊ ሲኤምኤስ ይህንን ህግ እስካሁን አላከበረም። አዘጋጆቹ ትክክለኛውን ነገር እየሰሩ እንደሆነ ያምናሉ እናም የሚያደርጉትን ያውቃሉ.

ውጤት (የባህሪ ባህሪ)፡ ከዘመናዊው ሲኤምኤስ መካከል አንዳቸውም በጨዋ “አሃዝ” (ቅጥነት እና የንድፍ ቀላልነት) አይለዩም፣ ሁሉም እጅግ በጣም ብዙ የሆነ የኮድ ሙሉነት አላቸው፣ እያንዳንዱም ክብርን ይጠይቃል።

  • ከፍተኛ ብቃት ያለው ፕሮግራመር;
  • መጫን ያስፈልገዋል;
  • የማስተናገጃ መስፈርቶችን ያስገድዳል;
  • ወደ ሌላ ማስተናገጃ ሲሄዱ ችግሮችን ይፈጥራል;
  • በእርግጥ ሥራን እና አስተዳደርን ይቀንሳል.

ፕሮግራመሮች ወደ መልሶ መመለሻ ጽንሰ-ሀሳብ ለረጅም ጊዜ እየመጡ ነው ፣ ያለ ሁለት ተግባራት ሶፍትዌሮችን መፍጠር አይችሉም ።

  • መቀልበስ;
  • ድገም

ስህተት መሥራት የሰው ተፈጥሮ ብቻ አይደለም ነገር ግን በማንኛውም ሁኔታ ወደ ኋላ መመለስ አለበት። በዘመናዊ የኢንተርኔት ፕሮግራሚንግ መሳሪያዎች ውስጥ እስከ ዛሬ ድረስ, ይህ ነጥብ አስፈላጊ አይደለም ብቻ ሳይሆን በጣም ውስን በሆነ መጠንም ጥቅም ላይ ይውላል.

የPHP ስራዎች በአንድ ድርድር ላይ፡ አንድን ኤለመንትን ማስወገድ፣ አይነት መቀየር ወይም አዲስ ነገር ማከል ግልፅ ነው። ነገር ግን ከዚህ በፊት ተለዋዋጮች፣ ከዚያም ድርድሮች፣ ከዚያም እቃዎች ነበሩ። ድርድር በጊዜ ሂደት ተለዋዋጭ ስለመሆኑ ለማሰብ የሚያስችል ምክንያት የለም?

ድርድር በጊዜ ሂደት የውሂብ መዋቅር ነው። እስካሁን ድረስ የትኛውም ቋንቋ ጊዜን በአገባብ ውስጥ እንደ ምክንያት አድርጎ አይቆጥርም። ስለ ትርጓሜዎች እንኳን ማውራት አያስፈልግዎትም: ከጥንት ጀምሮ እስከ ዛሬ ድረስ ፕሮግራመሮች እና ተጠቃሚዎች ፋይሎችን እና አቃፊዎችን ብቻ ይገነዘባሉ. ከፍተኛው እድገት ለምሳሌ በ PHP ውስጥ፣ የስም ቦታው በአቃፊዎች እና በፋይሎች መዋቅር ውስጥ በትንሹ ተንጸባርቋል።

በዚህ ዐውደ-ጽሑፍ በ PHP ውስጥ ያሉ እገዳዎች በድርድር ላይ-አንድን አካል ማስወገድ ፣ መለወጥ ወይም ማከል - ከፕሮግራም አውጪው ተጨማሪ እርምጃዎችን ይፈልጋሉ። ሁሉንም ነገር እንዳለ መተው ይችላሉ, እና እንደ ሁልጊዜም ይሰራል. በመረጃ ላይ ያለውን እያንዳንዱን ክዋኔ ግምት ውስጥ ማስገባት እና ሙሉ ለሙሉ መመዝገብ, የስራ ታሪክ መፍጠር እና ማከማቸት ይችላሉ.

ይህ ሙሉ ለሙሉ የተለየ የሥራ ደረጃ እና እጅግ የላቀ የውጤት ጥራት ይሆናል.

ፒኤችፒ ተስፋ ሰጪ እና ዘመናዊ ነው፡ ከፍተኛ ጥራት ያለው አገባብ እና ከተፈቀደው በላይ የትርጓሜ ስራዎችን የመስራት ችሎታ። በነገር ላይ ያተኮረ የፕሮግራም አወጣጥ ሃሳቦችን መተግበር እና የተለዋዋጭ አይነትን የመቀየር ነፃነት በጣም አስፈሪ ቅዠቶችዎን እውን ያደርገዋል።

ድርድሮች ጥንታዊ ንድፍ ናቸው, እና ተባባሪዎች ከልምምድ መስፈርት ይልቅ ለዘመኑ ግብር ናቸው. ምንም እንኳን ቀድሞ ያልተወሰነ ይዘት (ብዛት, እሴቶች, አይነቶች እና ኢንዴክሶች) ስብስቦችን መፍጠርን የሚያካትቱ በቂ የተግባር ስራዎች ቢኖሩም, የድርድር የመጨረሻው አካል በመጠቀም ይገኛል ማንኛውም የመፍጠር ዘዴ. ድርድሮች - መደበኛ እና ተባባሪ - ዝርዝሮችን እንዲፈጥሩ ይፈቅድልዎታል ፣ ግን በመደበኛ የ PHP አገባብ ይህ አጠቃቀም ውስን ነው።

የአሁኑ የድርድር ዋጋ

ከኢንዴክሶች አብስትራክት እና ግንባታውን ከተጠቀምን

$arData = አዲስ scField (); // scNumber፣ scString፣ scParagraph፣...

scField () የአብስትራክት ነገር ገንቢ ሲሆን - ዘሮች ያሉት “የመረጃ አካል” ቁጥሮች (scNumber) ፣ ሕብረቁምፊዎች (scString) ፣ ሐረጎች (scParagraph) ፣… በ PHP ውስጥ እናገኛለን: የመጨረሻው አካል = ድርድር ንብረቶቹን እንደ ትክክለኛ አካል የሚያሳዩ ዕቃዎች።

በመሰረቱ፣ የትኛው አካል ተገቢ እንደሆነ ቢታሰብ ምንም ለውጥ አያመጣም፣ ነገር ግን በዚህ አጋጣሚ ጠቋሚውን (በ PHP - ጠቋሚ ውስጥ) በድርድር ውስጥ መከታተል አለቦት። ብዙ ጊዜ፣ የእራስዎ ኤለመንት ጠቋሚ ሊኖርዎት ይገባል። በPHP "የመጨረሻው አካል = ድርድር" ሃሳብ ውስጥ ጠቋሚ አያስፈልግም። በመጨረሻ() እና array_pop() ተግባራት በኩል ተደራሽ ሲሆን የመጨረሻው አካል ንብረቶቹን ወደ ድርድር ውክልና ይሰጣል። በተጨማሪም array_pop()ን በመጠቀም ድርድርን በራስ ሰር ወደ ቀድሞው ኤለመንት ይከፍታል እና ንብረቶቹም በዚሁ መሰረት ይለወጣሉ። ይህ በንጥረ ነገሮች ውስጥ ለመንቀሳቀስ ያስችላል.

ስለዚህ፣ የPHPን አገባብ በዐውደ-ጽሑፍ ማስቀመጥ፣ የድርድር የመጨረሻውን አካል ሰርስሮ ማውጣት ማለት ባህሪያቱን መጠቀም ማለት ነው። በቋሚነት፣ ንጥረ ነገሮችን በማስቀመጥ እና በማስወገድ የንብረቶቹን ተለዋዋጭነት እናገኛለን፣ ባለው አገባብ ወሰን ውስጥ የተፈጠረውን የአዲሱን ተለዋዋጭ።

የመጀመሪያው እና ሌሎች ንጥረ ነገሮች

ከድርድሩ የመጀመሪያ አካል ጋር ለመስራት እና የውስጥ ጠቋሚውን ለማንቀሳቀስ ተግባራት አሉ። ክላሲካል የፕሮግራም አወጣጥ ልምምድን በሚተገበር በተለመደው አገባብ ውስጥ ተፈጻሚነት ይኖራቸዋል። ተለዋዋጭ ትርጉም ያላቸው ድርድሮች መፈጠርን በተመለከተ - አይደለም.

በፕሮግራም አወጣጥ ውስጥ ሁል ጊዜ ስለ ውሳኔዎች እንነጋገራለን-ተለዋዋጮች እሴቶችን ይወስዳሉ ፣ ሁኔታዊ መግለጫዎች የአልጎሪዝም አካሄድን ይለውጣሉ ፣ loops አንድን ነገር ይመረምራሉ እና በመጨረሻም ውጤት ይመጣል።

የስበት ማዕከሉን ወደ ኤለመንቱ ከቀየሩ እና የራሱን ውሳኔዎች እንዲወስኑ ከፈቀዱ የፕሮግራሙ አተገባበር ሙሉ ለሙሉ የተለየ, ትርጉም ያለው መልክ ይይዛል. ብዙውን ጊዜ ይህ ግቡን ለማሳካት የሚያስችል ዘዴ ነው ፣ በተለይም ሲመጣ ፣ ለምሳሌ ፣ በክፍት ኤክስኤምኤል ደረጃ የተፃፉ በርካታ * .docx ሰነድ መለያዎችን ለመጠቀም።

በPHP ውስጥ የድርድር የመጨረሻውን አካል ማግኘት አዲስ ትርጉም እና ጥሩ እድሎች አሉት።

ፋይሎችን እና የድርድር ንብረቶችን ተለዋዋጭነት በመጫን ላይ

አንድ ጣቢያ ማንኛውንም ፋይሎችን የማውረድ ችሎታ ሲሰጥ የአንድን ረቂቅ ነገር ሀሳብ ለመጠቀም ምቹ ነው ፣ ለምሳሌ ፣ scFile እና ዘሮቹ scImage ፣ scDocument ፣ scTabe ፣ ተመሳሳይ ባህሪያት ይኖራቸዋል ፣ ግን የእነሱ መገለጫ እና ትርጉማቸው (ይዘት) የተለየ ይሆናል. በPHP አገባብ (የመጨረሻው አካል = ድርድር) የፍጻሜ() ተግባርን በመጠቀም፣ የመጨረሻው አካል እንደሚገልጸው ሊጠቀሙበት ይችላሉ። ይህ መፍትሔ የሚስብ ነው, ምክንያቱም የተለመዱ ውክልናዎችን ስለሚገለብጥ እና እንደ ተፈጠረ በመረጃ አወቃቀሩ ውስጥ እንዲሄዱ ያስችልዎታል.

ይህ የድርድር አጠቃቀም ሙሉ ለሙሉ አዲስ ይዘት ይሰጣቸዋል። ይህ የቀረበው በPHP አገባብ ነው፣ ግን በዚህ መንገድ መጠቀም ብዙ አማራጮችን ይከፍታል።

የማሳያ ዘዴዎችን ከሰጡ ፣ በመረጃ ቋት ውስጥ መቆጠብ ፣ ወደ ሥራ ሁኔታ መመለስ (ለምሳሌ) በአንድ የተወሰነ ጉዳይ ላይ ምን ማድረግ እንዳለቦት ማሰብ አያስፈልግዎትም። ሁሉም የወረዱ ፋይሎች በቅደም ተከተል ተቀምጠዋል, እና በሚሰራበት ጊዜ, ተመሳሳይ ዘዴዎች ሁልጊዜ በተመሳሳይ እቅድ ይጠራሉ, ነገር ግን የምስሉ ፋይሉ እንደሚታየው, የተመን ሉህ ፋይሉ እንደ ጠረጴዛ, እና ሰነዱ እንደ ተዛማጅ ጽሑፍ. በPHP አገባብ ተደራሽ የሆነ፣ የድርድር የመጨረሻው አካል በንብረቶቹ እና በልዩ ይዘቱ የታጠቁ ነው።

በኋለኛው ጉዳይ ላይ, ሰነዱ ሁልጊዜ ቁምፊዎች, መስመሮች, ቁጥሮች እና, ከሁሉም በላይ, ቅርጸት አለው. የእያንዳንዱን አካል መከታተል አስቸጋሪ ነው, ነገር ግን ለእያንዳንዱ የቅርጸት አካል ተገቢውን እቃ በማቅረብ, ሰነዱን ሳያስቡት ማግኘት ይችላሉ.

በአገባብ ውስጥ መደራረብ እና መደጋገም።

ከመጨረሻው ኤለመንት ጋር ብቻ ሲሰራ, ዋናው ሁኔታ ቁልል ነው, ነገር ግን ይህ አካል ሲተገበር እና ተመሳሳይ ግንባታ ጥቅም ላይ ሲውል, እና በተለይም እራሱ, ድግግሞሽ ነው. ስለ PHPOffice ቤተ-መጻሕፍት ብዙ ጥሩ ነገር ማለት ትችላለህ፣ ለምሳሌ PHPWord፣ ነገር ግን የምንጭ ሰነድ ቅርጸቱን ወደ ውጤቱ የሚተረጉም የተሟላ ዘዴን ተግባራዊ ያደርጋሉ ማለት አይቻልም።

በእርግጥ፣ PHPOffice\PHPWord ን በመጠቀም በቀላሉ ማንኛውንም የWord ሰነድ (*.docx) መክፈት ይችላሉ፣ ነገር ግን ይህ የበርካታ የተዋቀሩ xml ፋይሎች፣ ምስሎች፣ እቃዎች፣ ወዘተ ማህደር ነው።

በተመሳሳይ ጊዜ, xml ፋይሎችን ብቻ ከወሰዱ, ምንም እንኳን እርስ በርስ የተያያዙ ቢሆኑም (በቅጦች, ሰንጠረዦች, ስዕሎች), በአሮጌው ላይ የተመሰረተ አዲስ ሰነድ መፍጠር እና በቀላሉ የሚፈለጉትን ለውጦች ወደ እሱ ማስተላለፍ አይቻልም. (ለምሳሌ, ቅርጸ-ቁምፊውን, ቀለሞችን, ቅርጸቱን ይለውጡ). ክፍት የኤክስኤምኤል መለያዎችን ለመጠቀም ብዙ አማራጮች አሉ ፣ እና እንደ MS Word ያሉ በደንብ የሚሰራ ምርት እንኳን ሁልጊዜ የተጠቃሚውን ሀሳቦች አይቋቋምም ፣ ስህተቶችን ያደርጋል።

በእውነቱ የ*.docx ፋይል የዚፕ ማህደር ነው፣ ግልጽ እና ሊረዳ የሚችል መዋቅር ያለው። አነስተኛ ቁጥር ያላቸውን ነገሮች በመጠቀም በመደበኛነት መግለጽ እና በማንበብ ጊዜ ሙሉ በሙሉ ነፃ የሆነ የመረጃ መዋቅር በፍቺ ሊገለበጥ ይችላል።

በዚህ ሁኔታ, በሰነዱ ውስጥ ያለው መረጃ መደበኛ የውሂብ መዋቅር ነው. ተለዋዋጭ ነገሮችን በመስጠት በቀላሉ ወደ ትርጉም ደረጃ እና ከአገባብ ረቂቅነት መሄድ ይችላሉ።

Reg.ru: ጎራዎች እና ማስተናገድ

በሩሲያ ውስጥ ትልቁ መዝጋቢ እና አስተናጋጅ አቅራቢ።

በአገልግሎት ላይ ከ2 ሚሊዮን በላይ የጎራ ስሞች።

ማስተዋወቂያ፣ የጎራ ደብዳቤ፣ የንግድ መፍትሄዎች።

በዓለም ዙሪያ ከ 700 ሺህ በላይ ደንበኞች አስቀድመው ምርጫቸውን አድርገዋል.

የማስነሻ ማዕቀፍ፡ ፈጣን አስማሚ አቀማመጥ

በ Bootstrap ማዕቀፍ ውስጥ የመላመድ አቀማመጥ መሰረታዊ ነገሮች ላይ ደረጃ በደረጃ የቪዲዮ ኮርስ።

ኃይለኛ እና ተግባራዊ መሳሪያን በመጠቀም እንዴት በቀላሉ፣ በፍጥነት እና በብቃት እንዴት መክተብ እንደሚችሉ ይማሩ።

ለማዘዝ እና ክፍያ ለማግኘት አቀማመጥ።

*ማሸብለል ባለበት ለማቆም መዳፊት ላይ።

ወደ ፊት ተመለስ

PHP፡ የድርድር አባሎችን በማስወገድ ላይ

ቀላል የሚመስል ስራ ገጥሞናል፡ የድርድር አካልን ማስወገድ። ወይም ብዙ አካላት።

ሆኖም ግን፣ ለሁሉም ቀላልነቱ፣ ሙሉ በሙሉ ግልጽ ያልሆኑ እና ፒኤችፒን ከ"ሄሎ፣ አለም :) ትንሽ ራቅ ብለው ማወቅ የሚገባቸው አማራጮች አሉ።

በመሠረት ራሱ እንጀምር: አንድ ኤለመንትን ለማስወገድ, ተግባሩን መጠቀም ያስፈልግዎታል አልተዋቀረም():

ያልተዋቀረ($ ድርድር); ያልተዋቀረ($array["foo"));

ያልተዋቀረ($ ድርድር፣ $ ድርድር); ያልተዋቀረ($array["foo")፣$array["ባር"]);

የሚቀጥለው አመክንዮአዊ ጥያቄ ነው፡ እርስ በርሳቸው የሚከተሏቸውን ብዙ አካላት እንዴት መሰረዝ እንደሚቻል (ማለትም በአጠገብ)? ብዙ ተያያዥ አባሎችን ለማስወገድ ተግባሩን ይጠቀሙ ድርድር_ክፍል():

Array_splice($array፣ $offset፣$length);

እባክዎን እነዚህን ተግባራት ሲጠቀሙ, የእነዚህ ንጥረ ነገሮች ማጣቀሻዎች በሙሉ ይጠፋሉ. በድርድር ውስጥ ቁልፍን ለመተው ከፈለክ ነገር ግን ከባዶ እሴት ጋር ካያያዝህ የተፈለገውን ኤለመንት በባዶ ሕብረቁምፊ ውስጥ ስጥ፡

$array = $array["foo"] = "";

ይህ ተግባር መሆኑን መረዳት አስፈላጊ ነው አልተዋቀረም()ኤለመንቱን ያስወግዳል፣ ለኤለመንቱ "" መመደብ አያስወግደውም ፣ ግን እሴቱን ከባዶ ሕብረቁምፊ ጋር እኩል ያደርገዋል።

ከቁጥሮች ጋር ከሰሩ, እሴቱን 0 ከእንደዚህ አይነት ቁልፍ ጋር ማያያዝ ጥሩ ይሆናል.

እንበል፣ አንድ ኩባንያ ለHBL-568 ሞዴል ክፍሎችን ማምረት ካቆመ፣ በክፍል ድርድር ላይ ለውጥ ሊደረግ ይችላል፡-

ያልተዘጋጁ($ ምርቶች["HBL-568"]);

የ HBL-568 ክፍል ለጊዜው ብቻ ካልሆነ እና ከፋብሪካው ይደርሳል ተብሎ የሚጠበቀው ከሆነ, አለበለዚያ ማድረግ የተሻለ ነው.

$ ምርቶች["HBL-568"] = 0;

የሚቀጥለው ነጥብ አንድ ተግባር ሲደውሉ መረዳት ነው አልተዋቀረም()ለተደራራቢ አባል፣ ፒኤችፒ ድርድርን ያስተካክላል ስለዚህም ሉፕ አሁንም በትክክል እንዲሰራ።

በሌላ አገላለጽ, ድርድር የተገኘውን "ቀዳዳዎች" ለመሙላት አልተጨመቀም. በመሰረቱ፣ ይህ ማለት ሁሉም ድርድሮች ተጓዳኝ ናቸው፣ ምንም እንኳን በመጀመሪያ እይታ ቁጥራቸው ቢመስሉም። ይህንን ባህሪ ለማሳየት ግልፅ ምሳሌዎችን እንመልከት፡-

// የ "ቁጥር" ድርድር ፍጠር $ Animal = ድርድር ("ጉንዳን", "ንብ", "ድመት", "ውሻ", "ኤልክ", "ቀበሮ"); $ እንስሳትን ማተም; // "ንብ" ማተም $ እንስሳት; // "ድመት" ቆጠራን ($ እንስሳት) ያትማል; // 6 ይመልሳል // ያልተስተካከሉ() ያልተዘጋጁ($እንስሳት); // $ Animals = "ንብ" ማተም $እንስሳትን ያስወግዳል; // ምንም ነገር አያወጣም እና ስህተት ይሰጣል E_NOTICE $ እንስሳትን ማተም; // "ድመት" ቆጠራን ($ እንስሳት) ያትማል; // 5 ይመልሳል $ array ኤለመንት በቦታው ሲቆይ እና "ቀበሮ" ይይዛል // አዲስ ንጥረ ነገር መጨመር $ Animal = "gnu"; // አዲስ ኤለመንት ህትመት $ እንስሳትን ይጨምራል; // ምንም ነገር አያትምም፣ እንዲሁም ስህተት ይሰጣል E_NOTICE ህትመት $ እንስሳት; // የ"gnu" ቆጠራን ($ እንስሳት) ያትማል; // 6 ይመልሳል // መመደብ "" (ባዶ ሕብረቁምፊ) $ እንስሳት = ""; // ወደ "ባዶ ሕብረቁምፊ" ማተም $ Animals አዘጋጅ; // ህትመቶች "" ቆጠራ ($ እንስሳት); // 6 ይመልሳል, i.e. ሲቆጠር ባዶውን የድርድር አካል ግምት ውስጥ ያስገባል።

ጥቅጥቅ ወዳለው የቁጥር አደራደር ለመድረስ ተግባሩን ይጠቀሙ የድርድር_እሴቶች():

$እንስሳት = array_values($እንስሳት);

እንዲሁም፣ array_splice() ተግባር “ቀዳዳዎችን” ለማስወገድ ረድፎችን በራስ-ሰር ያሳያል፡-

// የ "ቁጥር" ድርድር ፍጠር $ Animal = ድርድር ("ጉንዳን", "ንብ", "ድመት", "ውሻ", "ኤልክ", "ቀበሮ"); array_splice($ እንስሳት፣ 2፣ 2); print_r ($ እንስሳት);

በውጤቱ ላይ እኛ እናገኛለን-

አደራደር ( => ጉንዳን => ንብ => ኤልክ => ቀበሮ)

ይህ ባህሪ የት ጥቅም ላይ ሊውል ይችላል?

ከድርድር ጋር እንደ ወረፋ እየሰሩ ነው እንበል እና በዘፈቀደ የመድረስ እድልን ሳታጡ ከዚህ ወረፋ ውስጥ ኤለመንቶችን ማስወገድ ትፈልጋለህ፣ በአጋጣሚ ከተፈጠሩት "ቀዳዳዎች" በአንዱ ውስጥ ልትወድቅ ትችላለህ።

እና በመጨረሻም ፣ የመጀመሪያውን ወይም የመጨረሻውን አካል ከአደራደር በጥንቃቄ ለማስወገድ ተግባሮቹ የድርድር_ፈረቃ()እና ድርድር_ፖፕ()በቅደም ተከተል.

ከእነሱ ጋር ሁሉም ነገር በጣም ቀላል ነው-

$stack = ድርድር ("ብርቱካን", "ሙዝ", "ፖም", "ራስበሪ"); $fruit = array_shift($ቁልል); print_r ($ ቁልል);

ከላይ ያለውን ኮድ በመተግበር ምክንያት የሚከተለውን ውጤት እናገኛለን:

አደራደር ( => ሙዝ => አፕል => እንጆሪ)

የመጨረሻውን አካል ለማስወገድ, ተግባሩን ይጠቀሙ ድርድር_ፖፕ():

$stack = ድርድር ("ብርቱካን", "ሙዝ", "ፖም", "ራስበሪ"); $fruit = array_pop ($ ቁልል); print_r ($ ቁልል);

ውጤቱ የሚከተለው የድርድር ህትመት ነው።

አደራደር ( => ብርቱካንማ = ሙዝ => አፕል)

ይኼው ነው። በ PHP ውስጥ የድርድር ክፍሎችን ስለመሰረዝ ዋና ዋና ነጥቦችን ተወያይተናል። የሆነ ነገር ከተፈጠረ, ኦፊሴላዊው ሰነድ ሁልጊዜ ጠቃሚ ነው.

ቁሳቁሱን ወደዱት እና እኔን ማመስገን ይፈልጋሉ?
ከጓደኞችህ እና ከሥራ ባልደረቦችህ ጋር ብቻ አጋራ!


ተመልከት፥