2012-04-11 13 views
0

Ich habe eine Variable des Arrays enthält wie diese Namen;PHP Echo langen String mit begrenzter Ausgabe?

// Listing ENTITIES 
$entitiesTable = array(
    1 => "user", 
    2 => "group", 
    3 => "customer", 
    4 => "supplier", 
    5 => "terminal", 
    6 => "order", 
    7 => "invoice", 
    8 => "invoice detail", 
    9 => "invoice offer", 
    10 => "invoice offer detail", 
    11 => "quotation", 
    12 => "quotation detail", 
    13 => "quotation offer", 
    14 => "quotation offer detail", 
    15 => "purchase order", 
    16 => "purchase order detail", 
    17 => "purchase order request", 
    18 => "purchase order request detail", 
    19 => "sales order", 
    20 => "sales order detail", 
    21 => "delivery order", 
    22 => "delivery order detail", 
    23 => "sales return", 
    24 => "sales return detail", 
    25 => "purchase return", 
    26 => "purchase return detail", 
    27 => "item", 
    28 => "category", 
    29 => "unit measurement", 
    30 => "last activity", 
    31 => "rack", 
    32 => "alert", 
    33 => "filter", 
    34 => "prefix code", 
    35 => "system", 
    36 => "company profile" 
); 

Und in der Mitte meines PHP-Körpers, erstelle ich For Loops. Iterieren das Array und dann Echo em out.

foreach ($entitiesTable as $singleEntity){ 
if(preg_match($regexUsed, $singleEntity)){ 
    $pluralEntity = preg_replace($regexUsed, 'ies', $singleEntity); 
} else { 
    $pluralEntity = $singleEntity . 's';  
} 

// Replacing spaces with a dash character and capitalize the first word 
$pluralEntityWOSpace = ucwords($pluralEntity); 
$pluralEntityWOSpace = str_ireplace(" ","" , $pluralEntityWOSpace); 

$pluralEntityWDash = str_ireplace(" ","-" , $pluralEntity); 

$singleEntityWOSpace = ucwords($singleEntity); 
$singleEntityWOSpace = str_ireplace(" ","" , $singleEntityWOSpace); 

echo $singleEntityWOSpace . '<br/>'; 
} 

Irgendwie habe ich erkennen, dass es gerade jetzt, dass Was i erhielt nicht ein ganzer Name, wie es aus dem Array früher aufgeführt ist. Stattdessen, Was ich jetzt habe, ist nur ein kleines Stück dieser Namen. Aussehen! Hier sind die Ausgangsnamen I erhalten:

User 
Group 
Customer 
Supplier 
Terminal 
Order 
Invoice 
InvoiceDetail 
InvoiceOffer 
InvoiceOfferDetail 
Quotation 
QuotationDetail 
QuotationOffer 
QuotationOfferDetail 
PurchaseOrder 
PurchaseOrderDetail 
PurchaseOrderRequest 
PurchaseOrderRequestDetail 
SalesOrder 
SalesOrderDetail 
DeliveryOrder 
DeliveryOrderDetail 
SalesReturn 
SalesReturnDetail 
PurchaseReturn 
PurchaseReturnDetail 
Item 
Category 
UnitMeasurement 
LastActivit 

Ich versuchte flush() am Ende meines PHP-Skript und die Ausgabe dieser Namen zu schreiben sind OK. Aber dann gibt es mir einen anderen Fehler, da ich Slim Framework verwende. Gibt es einen anderen alternativen Weg als FLUSH()?

+1

Wahrscheinlich einige schrullige Ausgangspufferung. Schreiben Sie ob_flush() am Ende Ihres Skripts, um zu sehen, ob das funktioniert. –

+0

ya Ich habe es bereits versucht, aber es scheint, dass es die Begrenzung von Slim Framework ist, wenn wir mit ECHO zu tun haben, während es die Slim() -> run() Methode nicht ausgeführt hat. mein Echo ist begrenzt. – gumuruh

Antwort

0

Die wirkliche schnelle Antwort hierfür ist, durch die modifing php.ini-Datei;

output_buffering = 4096 
implicit_flush = Off 

Und dann den APache-Server neu starten. Ich weiß nicht warum, aber es funktioniert.

0

Ich glaube, Sie suchen etwas CamelCase genannt, hier ist eine Zeichenfolge zu Camelcase-Funktion:

function to_camel_case($str, $capitalise_first_char = false) { 
    if($capitalise_first_char) { 
    $str[0] = strtoupper($str[0]); 
    } 
    $func = create_function('$c', 'return strtoupper($c[1]);'); 
    return preg_replace_callback('/_([a-z])/', $func, $str); 
} 

Entnommen: http://www.paulferrett.com/2009/php-camel-case-functions/

+0

danke für den Kamelfall @Dan Lee ... aber das Problem ist der "Echo-Prozess". Es wird nicht der gesamte Text korrekt wiedergegeben. – gumuruh