Tråden för användbara funktioner

PHPportalen Forum Index » Tips och Trix
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget Gå till sida Föregående  1, 2, 3, 4, 5, 6, 7  Nästa
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
p_h_p_1



Medlem i: 4157 dagar
Från: någonstans i universum
Status: Offline



#545450
Inlägg Skrivet: 2008-01-02 20:00      Ämne: Citera

mm, men första g är ju bara bank..., vet ej ifall det var det du tänkte på när du skrev funktionen, men snygg funktion iallafall Smile
 

_________________
P_h_p_1 WYSIWYG 1.0
<?php
echo "Malte skrev: Funktion är vackert";
exit(malte);
Till toppen på sidan
Visa användarprofil Skicka privat meddelande MSN Messenger
Colandus



Medlem i: 4101 dagar
Från: Stockholm/Haninge
Status: Offline



#546149
Inlägg Skrivet: 2008-01-04 02:40      Ämne: Citera

Ja, jag är ju Lua scripter också, det är väldigt kul. Där har de en funktion som heter table.concat(table, string)... I Lua heter det ju table och inte array.

Så jag gjorde en likadan funktion till PHP, vet ej om det redan finns men jag hittade ingen.

PHP:
1:
 
2:
function concat($array$str) {
3:
   $i 1;
4:
   foreach ($array as $v) {
5:
      $result .= $v . ($i count($array) ? $str '');
6:
      $i++;
7:
   }
8:
   return $result;
9:


Då skriver du t.ex:
PHP:
1:
 
2:
$arr = array("Hund""Katt""Mus");
3:
$string concat($arr" -> ");
4:
 

$string kommer att vara: Hund -> Katt -> Mus

Annat exempel:
PHP:
1:
 
2:
$names = array("Alex""Christian""Nabil""Markus""Milad");
3:
$string concat($names", ");
4:
 

$string kommer att vara: Alex, Christian, Nabil, Markus, Milad

Hejdå Smile
 

_________________
فحف
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
MrJozk



Medlem i: 4441 dagar
Från: Enköping, Uppland
Status: Offline



#546151
Inlägg Skrivet: 2008-01-04 02:52      Ämne: Citera

Colandus skrev:
Ja, jag är ju Lua scripter också, det är väldigt kul. Där har de en funktion som heter table.concat(table, string)... I Lua heter det ju table och inte array.

Så jag gjorde en likadan funktion till PHP, vet ej om det redan finns men jag hittade ingen.

PHP:
1:
 
2:
function concat($array$str) {
3:
   $i 1;
4:
   foreach ($array as $v) {
5:
      $result .= $v . ($i count($array) ? $str '');
6:
      $i++;
7:
   }
8:
   return $result;
9:


Då skriver du t.ex:
PHP:
1:
 
2:
$arr = array("Hund""Katt""Mus");
3:
$string concat($arr" -> ");
4:
 

$string kommer att vara: Hund -> Katt -> Mus

Annat exempel:
PHP:
1:
 
2:
$names = array("Alex""Christian""Nabil""Markus""Milad");
3:
$string concat($names", ");
4:
 

$string kommer att vara: Alex, Christian, Nabil, Markus, Milad

Hejdå Smile

implode
 

_________________
ZmartStart - Kom åt dina bokmärken & favoriter från alla datorer och webbläsare! - Nu bättre än innan!

MySQL är en databashanterare, INTE ett programmeringsspråk!
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Skicka e-post Besök användarens hemsida MSN Messenger
Colandus



Medlem i: 4101 dagar
Från: Stockholm/Haninge
Status: Offline



#546153
Inlägg Skrivet: 2008-01-04 03:01      Ämne: Citera

Ännu en dum funktion som säkert redan finns (har ju tråkigt måste göra nått):
PHP:
1:
 
2:
function getPage() {
3:
   $query basename($_SERVER[REQUEST_URI]);
4:
   for($i=strlen($query); substr($query$i1) != "."$i--) continue;
5:
   $info = array(
6:
      $query,
7:
      substr($query0$i),
8:
      substr($query$i 1)
9:
   );
10:
   return $info;
11:
}
12:
 


Om jag nu är inne på "http://213.114.174.132/test/train/imgcreate/form.inc.php", och mitt script ser ut så här:
PHP:
1:
 
2:
$pageInfo getPage();
3:
echo $pageInfo[0] . "<br />";
4:
echo $pageInfo[1] . "<br />";
5:
echo $pageInfo[2] . "<br />";
6:
 


Då kommer den att skriva ut:
KOD:
1:
 
2:
form.inc.php
3:
form.inc
4:
form
5:
 


Mwahaha, hoppas den inte finns :D

Oj glömde säga vad som är bra med den!
Den tittar bakifrån, den visar då inte inc.php ist för php bara, ni kanske inte fattar vad jag menar men de gör inget måste sova nu kan ej förklara bra då xD
 

_________________
فحف
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
snifferoxs



Medlem i: 5637 dagar
Från: Eskilstuna
Status: Offline



#547215
Inlägg Skrivet: 2008-01-06 13:16      Ämne: Mod_rewrite + ?page= Citera

Här är en mycket användbar funktion om man inte vill använda frames.
La dessutom till en liten mod_rewrite kodsnutt.
Tänk på när ni använder mod_rewrite att ni måste länka direkt från eran webroot dvs... <img src="/bilder/bildnamn.jpg">
och så när man ändå använder mod_rewrite kan man sätta alt taggar på alla bilder så google blir ännu gladare.

PHP:
1:
 
2:
$pages = array(
3:
'main' => 'main.php',
4:
);
5:
 
6:
if (isset($_GET['p']) && isset($pages[$_GET['p']]))
7:
{
8:
 include($pages[$_GET['p']]);
9:
}
10:
else
11:
{
12:
 include("main.php");
13:
}
14:
?>
15:
 



Mod_rewrite koden läggs förslagsvis i en .htaccess fil i rooten på hemsidan.

KOD:
1:
 
2:
RewriteEngine on
3:
RewriteRule ^hem/ ./?p=main [PT]
4:
RewriteRule ^artikelgrupp/([^/\.]+)/?$ ./?p=prices&aCat=$1 [PT]
5:
 


Enjoy!
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
Colandus



Medlem i: 4101 dagar
Från: Stockholm/Haninge
Status: Offline



#547245
Inlägg Skrivet: 2008-01-06 14:53      Ämne: Citera

Det är väl meningen att du ska lägga in funktioner du gjort själv här? Surprised
 

_________________
فحف
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
p_h_p_1



Medlem i: 4157 dagar
Från: någonstans i universum
Status: Offline



#548992
Inlägg Skrivet: 2008-01-12 10:21      Ämne: Citera

För att kolla ifall ord finns i array:
PHP:
1:
<?php
2:
function kolla($array$match$rigth$wrong) {
3:
if(in_array($match$array)) {
4:
  echo $rigth;
5:
}
6:
else {
7:
  echo $wrong;
8:
}
9:
}
10:
$look = array("hej""hej igen""hoho"); //Array att kolla i
11:
kolla($look"ord""finns""finns inte"); //Länka till array, matcha ord, ifall det finns, ifall det inte finns
12:
?>
 

_________________
P_h_p_1 WYSIWYG 1.0
<?php
echo "Malte skrev: Funktion är vackert";
exit(malte);
Till toppen på sidan
Visa användarprofil Skicka privat meddelande MSN Messenger
wally_91



Medlem i: 4432 dagar
Från: Stockholm (bor i Örebro)
Status: Offline



#549021
Inlägg Skrivet: 2008-01-12 13:43      Ämne: Citera

p_h_p_1: Kanske bättre om du returnerar true/false så kan man avgöra själv vad man ska göra med det returnerade.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
spuun



Medlem i: 5634 dagar
Från: Linköping
Status: Offline



#549028
Inlägg Skrivet: 2008-01-12 14:04      Ämne: Citera

wally_91 skrev:
p_h_p_1: Kanske bättre om du returnerar true/false så kan man avgöra själv vad man ska göra med det returnerade.

.. och då kan man lika gärna använda in_array. Jag ser verkligen inte att den här funktionen är någon "användbar funktion". men det är väl jag det.

PHP:
1:
 
2:
in_array("ord",$look)?"finns":"finns inte";
3:
 

gör samma sak som funktionen, och skiljer sig inte mkt från själva funktionsanropet B-]
 

_________________
:] :] :] *kjamizzar* :] :] :]

Varför inkludera allt i indexfilen?
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Colandus



Medlem i: 4101 dagar
Från: Stockholm/Haninge
Status: Offline



#550293
Inlägg Skrivet: 2008-01-17 00:34      Ämne: Citera

return_r, fungerar som print_r, fast den skriver inte ut värdet utan returnerar det. Funkar även med <pre> runt om den! :D

PHP:
1:
 
2:
function return_r($arr$i=0) {
3:
   $spaces str_repeat(" ", ($i 8));
4:
   $s .= "Array\n$spaces(\n";
5:
   foreach ($arr as $k => $v) {
6:
      if (is_array($v)) {
7:
         $s .= $spaces "    [$k] => " return_r($v1+$i);
8:
      } else {
9:
         $s .= $spaces "    [$k] => $v\n";
10:
      }
11:
   }
12:
   $s .= "$spaces)\n\n";
13:
   return $s;
14:
}
15:
 


Kanske är dåligt kodad, vet tyvärr inte jag, men jag gillar den Smile

Senast ändrad av Colandus den 2008-01-17 00:45, ändrad totalt 1 gång
 

_________________
فحف
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
WizKid
Ex-Moderator



Medlem i: 6198 dagar
Från: Stockholm
Status: Offline



#550297
Inlägg Skrivet: 2008-01-17 00:39      Ämne: Citera

Colandus: Du menar att du gjort en egen print_r($var, 1) ?
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida ICQ-nummer
Colandus



Medlem i: 4101 dagar
Från: Stockholm/Haninge
Status: Offline



#550300
Inlägg Skrivet: 2008-01-17 00:47      Ämne: Citera

Naj, men det är inte meningen att skriv till den där 1an, men jag vet inget annat sätt att göra det på :/
 

_________________
فحف
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
WizKid
Ex-Moderator



Medlem i: 6198 dagar
Från: Stockholm
Status: Offline



#550301
Inlägg Skrivet: 2008-01-17 00:50      Ämne: Citera

Jag menar ta en titt på funktionen print_r och kolla vad som händer om man skickar med true som andra parameter. Den gör då precis det du försöker göra.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida ICQ-nummer
Colandus



Medlem i: 4101 dagar
Från: Stockholm/Haninge
Status: Offline



#550421
Inlägg Skrivet: 2008-01-17 19:25      Ämne: Citera

Jaha, men jag gjorde den för jag hade tråkigt mest xD

Och den går ju att anpassa också... lättare Razz
Men ändå undrar jag om man kan göra det jag gjorde utan en andra parameter...
 

_________________
فحف
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Colandus



Medlem i: 4101 dagar
Från: Stockholm/Haninge
Status: Offline



#550739
Inlägg Skrivet: 2008-01-18 23:04      Ämne: Citera

En liten, kanske onödig (som alla andra jag gjort) funktion...

PHP:
1:
 
2:
function mailName($email) {
3:
   $arr = array
4:
   (
5:
      "@" => " at ",
6:
      "." => " dot "
7:
   );
8:
   $n_email str_replace(array_keys($arr), $arr$email);
9:
   return $n_email;
10:
}
11:
 


Så funkar den:
PHP:
1:
 
2:
$email "en_rolig@email.com";
3:
echo mailName($email) . "<br />";
4:
 
5:
$email "en.rolig@email.com";
6:
echo mailName($email);
7:
 


Skriver ut:
KOD:
1:
 
2:
en_rolig at email dot com
3:
en dot rolig at email dot com
4:
 
 

_________________
فحف
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget Gå till sida Föregående  1, 2, 3, 4, 5, 6, 7  Nästa
PHPportalen Forum Index » Tips och Trix
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic