आप नहीं चाहते हैं धन्यवाद पुस्तकालयों का उपयोग करने के लिए (या किसी कारण से अनुमति नहीं है), तो आप मानक php printf
/sprintf
कार्यों का उपयोग कर सकते हैं।
उनके साथ समस्या यह है कि यदि आपके पास चर और गैर-सीमित चौड़ाई वाले मान हैं, तो आपको यह तय करना होगा कि लंबे मानों को छोटा कर दिया जाएगा या तालिका के लेआउट को तोड़ दिया जाएगा।
पहला मामला:
// fixed width
$mask = "|%5.5s |%-30.30s | x |\n";
printf($mask, 'Num', 'Title');
printf($mask, '1', 'A value that fits the cell');
printf($mask, '2', 'A too long value the end of which will be cut off');
उत्पादन
| Num |Title | x |
| 1 |A value that fits the cell | x |
| 2 |A too long value the end of wh | x |
दूसरा मामला है:
// only min-width of cells is set
$mask = "|%5s |%-30s | x |\n";
printf($mask, 'Num', 'Title');
printf($mask, '1', 'A value that fits the cell');
printf($mask, '2', 'A too long value that will brake the table');
और यहाँ हम
| Num |Title | x |
| 1 |A value that fits the cell | x |
| 2 |A too long value that will brake the table | x |
मिल
यदि इनमें से कोई भी आपकी आवश्यकताओं को पूरा नहीं करता है और आपको प्रत्येक कॉलम में अधिकतम चौड़ाई मानों की गणना करने की अपेक्षा की जाती है, तो आपको वास्तव में चौड़ाई वाले कॉलम वाले टेबल की आवश्यकता होती है। लेकिन इस तरह PEAR::Console_Table
बिल्कुल काम करता है।
मैंने कोशिश की लेकिन स्प्रिंटफ मेरे मामले में काम नहीं कर रहा है :( – user519846
क्यों? बहुत लंबे मूल्य तालिका को तोड़ते हैं? तो आपको पहले प्रत्येक कॉलम में सबसे लंबी स्ट्रिंग को खोजने की ज़रूरत होती है। यह वास्तव में एक पहिया को फिर से शुरू करने जैसा दिखता है, क्योंकि पीयर समाधान पॉवेटैक द्वारा सुझाए गए आपके लिए यह है। इसलिए मैं अपने उत्तर पर छोड़ देता हूं और उसका समर्थन करता हूं। – Hnatt
+1 - यदि आप लाइब्रेरी (अभी तक) चुनना नहीं चाहते हैं, तो 'sprintf' स्वरूपित आउटपुट के लिए एक अच्छी शुरुआत है, चेक विभिन्न प्रारूप उपलब्ध हैं: http://php.net/manual/en/function.sprintf.php - आप अपनी तालिका की शीर्षलेख पंक्ति के साथ-साथ डेटा पंक्तियों के लिए एक ही मुखौटा का उपयोग कर सकते हैं। – hakre