några sidor på nätet om PHP programmering

Sök efter  
Börja här Uppgifter Testa dig själv Tips Sidokarta mm. Länkar Sök

Vanliga HTML inriktade Regexp Regexp i PHP Övriga

1.9.1 Vanliga

ord

Används för att få ASCII (ANSI) värdet av en sträng (tecken).

<?php
    $sträng
= "A";
    echo
"ASCII värdet av $sträng är " . ord($sträng) . "<br>";
    
$sträng = "Anders";
    echo
"ASCII värdet av $sträng är " . ord($sträng) . "<br>";
?>
Listning 1.9.1.1 - samples/s52.php

ASCII värdet av A är 65
ASCII värdet av Anders är 65
Resultat av listning 1.9.1.1

chr

Används för att få tecknet för en viss ASCII (ANSI) kod.

<?php
    $siffra
= 72;
    echo
"Tecknet för ASCII värdet $siffra är " . chr($siffra) . "<br>";
?>
Listning 1.9.1.2 - samples/s53.php

Tecknet för ASCII värdet 72 är H
Resultat av listning 1.9.1.2

substr

Används för att söka delsträngar ur en sträng

<?php
    
# syntax
    # string substr (string string, int start [, int length])
    
    
$sträng = "abcdef";
    echo
"Strängen är \"$sträng\"<br>";
    echo
"substr(\$sträng,2) ger " . substr($sträng,2) . "<br>";
    echo
"substr(\$sträng,2,3) ger " . substr($sträng,2,3) . "<br>";
    echo
"substr(\$sträng,0,3) ger " . substr($sträng,0,3) . "<br>";

    
# negativ startvärde ger right liknande resultat
    
echo "substr(\$sträng,-1) ger " . substr($sträng,-1) . "<br>";
    echo
"substr(\$sträng,-3) ger " . substr($sträng,-3) . "<br>";
?>
Listning 1.9.1.3 - samples/s54.php

Strängen är "abcdef"
substr($sträng,2) ger cdef
substr($sträng,2,3) ger cde
substr($sträng,0,3) ger abc
substr($sträng,-1) ger f
substr($sträng,-3) ger def
Resultat av listning 1.9.1.3

strpos och strrpos

Ger index för en sökt delsträng. strpos söker från början, strrpos från slutet

<?php
    
# strpos
    # string strpos (string haystack, string needle)
    
    
$sträng = "abcdef";
    echo
"Strängen är \"$sträng\"<br>";
    echo
"strpos(\$sträng,\"cd\") ger " . strpos($sträng,"cd") . "<br>";
    echo
"strpos(\$sträng,\"e\") ger " . strpos($sträng,"e") . "<br>";
    echo
"strpos(\$sträng,\"a\") ger " . strpos($sträng,"a") . "<br>";
    echo
"strpos(\$sträng,\"x\") ger " . strpos($sträng,"x") . "<br>";

    
# för att kolla om den
    
$pos = strpos($sträng,"x");
    if (
$pos == false )
    {
        echo
"Hittade inget x<br>";
    }

    
# strrpos
    # string strrpos (string haystack, string needle)
    # söker bakifrån
    
$sträng = "abcdefabcdef";    
    echo
"strrpos(\$sträng,\"a\") ger " . strrpos($sträng,"a") . "<br>";
?>
Listning 1.9.1.4 - samples/s55.php

Strängen är "abcdef"
strpos($sträng,"cd") ger 2
strpos($sträng,"e") ger 4
strpos($sträng,"a") ger 0
strpos($sträng,"x") ger
Hittade inget x
strrpos($sträng,"a") ger 6
Resultat av listning 1.9.1.4

strtolower, strtoupper , ucfirst, ucwords

Sätter alla tecken i en sträng till små bokstäver (strtolower), stora bokstäver (strtoupper) , sätter första tecken i strängen till stor bokstav (ucfirst) sätter första tecknet i varje ord till stor bokstav (ucwords)

<?php
    
# strtolower
    # string strtolower (string)
    
    
$sträng = "En testSTRäng";
    echo
"Strängen är \"$sträng\"<br><br>";
    echo
"strtolower(\$sträng) ger " . strtolower($sträng) . "<br>";

    echo
"<br>";
    
    
# strtoupper
    # string strtoupper (string)
    
    
echo "strtoupper(\$sträng) ger " . strtoupper($sträng) . "<br>";

    echo
"<br>";
    
# ucfirst
    # string ucfirst (string)
    
    
echo "ucfirst(\$sträng) ger " . ucfirst($sträng) . "<br>";
    echo
"ucfirst(strtolower(\$sträng)) ger "
        
. ucfirst(strtolower($sträng)) . "<br>";

    echo
"<br>";
    
# ucwords
    # string ucwords (string)
    
    
echo "ucwords(\$sträng) ger " . ucwords($sträng) . "<br>";
    echo
"ucwords(strtolower(\$sträng)) ger "
        
. ucwords(strtolower($sträng)) . "<br>";
?>
Listning 1.9.1.5 - samples/s56.php

Strängen är "En testSTRäng"

strtolower($sträng) ger en teststräng

strtoupper($sträng) ger EN TESTSTRäNG

ucfirst($sträng) ger En testSTRäng
ucfirst(strtolower($sträng)) ger En teststräng

ucwords($sträng) ger En TestSTRäng
ucwords(strtolower($sträng)) ger En Teststräng
Resultat av listning 1.9.1.5

strlen

Ger längden av en sträng.

<?php
    
# strlen
    # int strlen (string)
    
    
$sträng = "En testSTRäng";
    echo
"Strängen är \"$sträng\"<br>";
    echo
"strlen(\$sträng) ger " . strlen($sträng) . "<br>";
?>
Listning 1.9.1.6 - samples/s57.php

Strängen är "En testSTRäng"
strlen($sträng) ger 13
Resultat av listning 1.9.1.6

ltrim, rtrim och trim

Tar bort extra mellanslag i början, slutet eller både början och slutet.

<?php
    $sträng
= "     en sträng        ";
    echo
"<pre>"; # måste sätta pre så att mellanslagen syns
    
echo "Strängen är \"$sträng\"<br>";
    echo
"ltrim(\$sträng) ger \"" . ltrim($sträng) . "\"<br>";
    echo
"rtrim(\$sträng) ger \"" . rtrim($sträng) . "\"<br>";
    echo
"trim(\$sträng) ger \"" . trim($sträng) . "\"<br>";
    
    
# ett alias för rtrim är chop
    
echo "chop(\$sträng) ger \"" . chop($sträng) . "\"<br>";
    echo
"</pre>";
?>
Listning 1.9.1.7 - samples/s58.php

Strängen är "     en sträng        "
ltrim($sträng) ger "en sträng "
rtrim($sträng) ger " en sträng"
trim($sträng) ger "en sträng"
chop($sträng) ger " en sträng"
Resultat av listning 1.9.1.7

strcmp, strcasecmp

Jämför strängar. strcasecmp beaktar a och A som samma bokstav (case-insensitive)

<?php
    
# bägge funktionerna returnerar:
    # 0 om strängarna var lika
    # < 0 om den första strängen var mindre
    # > 0 om den första strängen var större
    # observera att detta inte nödvändigtvis betyder att de
    # returnerar -1, 0 och 1 utan jämför uttryckligen med mindre
    # än 0 eller större än 0


    
$var1 = "Hello";
    
$var2 = "hello";

    if (
0 == strcmp($var1, $var2))
    {
        echo
'$var1 är lika med $var2 enligt strcmp<br>';
    }
    
    if (
0 == strcasecmp($var1, $var2))
    {
        echo
'$var1 är lika med $var2 enligt strcasecmp<br>';
    }

    
# eftersom false är definierat till 0
    # och true till allt annat kan du inte
    # jämföra på följande sätt

    
if ( strcasecmp($var1, $var2 ) )
    {
        echo
'$var1 är lika med $var2 enligt strcasecmp<br>';
    }

    
# däremot funkar följande men det blir en "konstig"
    # programlogik - jämför alltid med 0
    
if ( !strcasecmp($var1, $var2 ) )
    {
        echo
'$var1 är lika med $var2 enligt strcasecmp<br>';
    }

?>

Listning 1.9.1.8 - samples/s59.php

$var1 är lika med $var2 enligt strcasecmp
$var1 är lika med $var2 enligt strcasecmp
Resultat av listning 1.9.1.8

str_replace

Byter ut alla förekomster av en delsträng till annan.

<?php
    
    $orginal
= "Alla är så glada, så glada";
    
$sök     = "glada";
    
$ersätt     = "sura";
    
    
# Observera att ordningsföljden inte
    # är densamma som i VB
    
echo str_replace( $sök, $ersätt, $orginal );
?>
Listning 1.9.1.9 - samples/s62.php

Alla är så sura, så sura
Resultat av listning 1.9.1.9

str_pad

<?php
    $text
= str_pad(" ", 10); # som VB:s Space(10);
    
echo "<pre>|" . $text . "|</pre>";
    
    
$sträng = "ABC";
    echo
str_pad($sträng,  10 , "_") . "<br />";    
    echo
str_pad($sträng,  10 , "_", STR_PAD_LEFT) . "<br />";    
    echo
str_pad($sträng,  10 , "_", STR_PAD_RIGHT) . "<br />";    
    echo
str_pad($sträng,  10 , "_", STR_PAD_BOTH) . "<br />";    
?>
Listning 1.9.1.10 - samples/s63.php

|          |
ABC_______
_______ABC
ABC_______
___ABC____
Resultat av listning 1.9.1.10

strrev

Svänger om texten i strängen

<?php
    $texten
= "abcdefg";

    
# texten okonverterad
    
echo    "Orginal: " . $texten;

    echo
"<br>";

    
# texten omvsvängs
    
echo "Efter strrev: " . strrev($texten);
?>
Listning 1.9.1.11 - samples/s81.php

Orginal: abcdefg
Efter strrev: gfedcba
Resultat av listning 1.9.1.11

   Börja härSträngarVanliga